Git基础学习(黑马程序员笔记)

Posted 她还会来吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git基础学习(黑马程序员笔记)相关的知识,希望对你有一定的参考价值。

Git介绍

Git是目前世界上最先进的分布式版本控制系统

Git与Github

两者区别

Git是一个分布式版本库控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便将来来查阅特定版本修订情况的软件。
Github是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)除了提供管理的Web界面外,还提供了订阅,关注,讨论组,在线编辑器等丰富的功能。Github被称为全球最大的基友网站。

注册Github

官网: https://github.com/

Git使用

Git操作的三个区域

在这里插入图片描述

工作流程

在这里插入图片描述

本地仓库操作

仓库:又名版本库,英文名repository,我们可以简单理解成是一个目录,用于存放代码的,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除等操作Git都能跟踪到。

  1. 安装好后首次使用需要先进行全局配置,桌面空白处右键,点击"Git Bash Here"以打开Git命令行窗口
  git config -- global user.name "用户名"

  git config --global user.email"邮箱地址"

在这里插入图片描述

  1. 创建仓库
    当我们需要让Git去管理某个新项目/已存在项目的时候,就需要创建仓库了。注意,创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在现有项目上来学习Git.
    注意:为了避免在学习或使用过程中出现各种奇葩问题,请不要使用包含中文的目录名(父目录亦是如此)
    a. 创建空目录
    在桌面点击右键新建文件夹或在Git命令行工具中使$ mkdir pro_git命令。
    在这里插入图片描述
    b.在命令行中进入项目目录
    使用cd pro_git命令
    在这里插入图片描述
    c. Git仓库初始化(让Git知道他需要来管理这个目录)
    指令:Git init
    在这里插入图片描述
    执行之后会在项目目录下创".git"的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容。

  2. Git常用指令操作
    添加到缓存区git add 文件名(可以添加一个文件,也可以添加多个文件)
    在这里插入图片描述
    提交至版本git commit-m"注释内容"
    在这里插入图片描述

查看当前状态git status
在这里插入图片描述

版本回退

版本回退分为两步骤进行操作;

  1. 查看版本,确定需要回到的时刻点
    指令:git log
    在这里插入图片描述
  2. 回退操作
    指令:git reset–hard 版本号
    在这里插入图片描述
    注意:回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,以得到最新的commit id.
    指令:git reflog
    在这里插入图片描述
  3. 小结
    a. 要想回到过去,必须先得到commit id,然后通过git reset–hard进行回退
    b. 要想回到未来,需要使用git reflog进行历史操作查看,得到最新的commit id.
    c. 在写回退指令的时候commit id可以不用写全,git自动识别,但是也不能写太少,至少需要写前四位字符。

Github https协议

a. 使用clone指令克隆线上仓库到本地
指令:git clone线上仓库地址
在这里插入图片描述
b. 在仓库上做对应的操作(提交暂存区,本地仓库,线上仓库,拉取线上仓库),提交到线上仓库的指令
指令:git push
在这里插入图片描述
在首次往线上仓库提交内容的时候出现了403的致命错误,原因不是任何人都可以往线上仓库提交内容,必须需要鉴权。需要修改".git/config"文件内容。
在这里插入图片描述

c.拉取线上仓库
指令:git pull
在这里插入图片描述

Github ssH协议

该方式与前面https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如提交本地 添加注释 提交远程等操作)没有任何影响
a. 打开提示
在这里插入图片描述

b. 创建公私钥对文件(需要自行安装OpenSSH):ssh-keygen-t rsa-C “注册邮箱”
在这里插入图片描述

c. 上传公钥文件内容
在这里插入图片描述

Git分支管理

在版本回退的章节里,每次提交后都会有记录,Git把他们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支
在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不影响其它分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

分支指令

查看分支:git branch
在这里插入图片描述
创建分支:git branch 分支名
在这里插入图片描述
切换分支:git checkout 分支名
在这里插入图片描述
删除分支:git branch -d 分支名
在这里插入图片描述
合并分支:git merge 被合并的分支名
首先现在dev分支下的readme文件中新增一行并提交本地
在这里插入图片描述
切换到master分支下观察readme文件
在这里插入图片描述
将dev分支的内容与master分支合并
在这里插入图片描述

Git使用技能

图形管理工具

  1. Github for Desktop
    网址:https://desktop.github.com/
    Github出品的软件,功能完善,使用方便,对于经常使用Github的开发人员来说是非常便捷的工具,界面干净,用起来非常顺手,顶部的分支时间线非常绚丽
  2. Source tree
    网址:https://www.sourcetreeapp.com/
    老牌的Git GUI管理工具,也号称是最好用的的Git GUI工具,功能丰富,基本操作和高级操作都非常流畅,适合初学者上手。
  3. TortoiseGit
    网址:https://www.oschina.net/p/tortoisegit?hmsr=aladdin1e1

忽略文件

场景:在项目目录下有很多万年不变的文件目录,例如css,js,images等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们可以使用"忽略文件"机制来实现需求。

忽略文件需要新建一个名为.gitnore的文件,该文件用户用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
注意:该文件因为没有文件名,没办法直接在windows目录下直接创建,可以通过命令行Git Bash来touch创建在这里插入图片描述

以上是关于Git基础学习(黑马程序员笔记)的主要内容,如果未能解决你的问题,请参考以下文章

《C语言基础学习笔记》—— 黑马程序员 <Part1-4>

Python学习笔记---B站黑马程序员

2022黑马Python学习笔记

小程序基础入门(黑马学习笔记)

黑马公开课——运行原理与GC学习笔记

C++学习:第一阶段(C++基础入门)———B站黑马程序员C++学习笔记