Git学习笔记(第3章):Git常用命令

目录

3.1 设置用户签名

3.2 初始化本地库

3.3 查看本地库状态

3.4 添加暂存区

3.5 提交本地库

3.6 历史版本

3.7 修改文件

3.8 版本穿梭

小结


命令

作用

git config --global user.name 用户名

设置用户签名

git config --global user.email 邮箱

设置用户签名

git init

初始化本地库

git status

查看本地库状态

git add 文件名

添加到暂存区

git commit -m “日志信息文件名

提交到本地库

git refloggit log

查看历史版本

git reset –hard 版本号

版本穿梭

3.1 设置用户签名

基本语法

  • git config --global user.name 用户名
  • git config --global user.email 邮箱

案例实操

  • Step1:在桌面或任意位置右键打开Git客户端

Git学习笔记(第3章):Git常用命令_第1张图片

  • Step2:设置用户签名(@的前面为当前Windows的登录用户)

Git学习笔记(第3章):Git常用命令_第2张图片

  • Step3:验证有效性(查看配置文件)
    • 路径:C:\Users\Bigbeard_Liao\ .gitconfig

Git学习笔记(第3章):Git常用命令_第3张图片

Git学习笔记(第3章):Git常用命令_第4张图片

几点说明

  • Git首次安装成功后,必须设置一次用户签名,否则无法提交代码。
  • 用户签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
  • 邮箱为虚拟邮箱,现实中无需真实存在,并且Git也不会验证该邮箱的合法性和真实性。
  • 此处设置的用户签名登录代码托管中心(GitHub)的账号没有任何关系。

3.2 初始化本地库

        若想使用Git管理某个项目,就必须让Git获取该项目目录的管理权限(未进行初始化的项目,Git是无法进行管理的)。

基本语法

  • git init

案例实操

要求:使用Git管理项目git-demo(此项目下不含任何内容,仅用于演示)

  • Step1:鼠标手动点击文件夹,进入项目(Windows路径具有盘符,需要将\修改为/,不便于使用cd命令直接进入)

Git学习笔记(第3章):Git常用命令_第5张图片

  • Step2:在当前位置(即项目的根目录下)打开Git客户端

Git学习笔记(第3章):Git常用命令_第6张图片

Git学习笔记(第3章):Git常用命令_第7张图片

  • Step3:初始化本地库
    • 在项目的根目录下,自动生成.git的文件夹
    • 默认情况下,.git文件夹是隐藏的,需要取消隐藏才能看见
    • .git文件夹不允许修改,否则Git将无法管理该项目

Git学习笔记(第3章):Git常用命令_第8张图片

Git学习笔记(第3章):Git常用命令_第9张图片

Git学习笔记(第3章):Git常用命令_第10张图片

  • Step4:查看.git文件夹
    • 命令:ll 或 ll -a(-a显示所有的内容,包括隐藏文件)

Git学习笔记(第3章):Git常用命令_第11张图片

  • 注:在Git Bash中使用的命令,与Linux命令完全相同。

3.3 查看本地库状态

基本语法

  • git status

案例实操

  • Step1首次查看本地库状态(工作区不存在任何文件
    • On branch master:当前本地库位于master分支(默认分支名字)上
    • No commits yet:当前还未提交过任何历史版本
    • nothing to commit (create/copy files and use "git add" to track):当前没有任何东西需要提交

Git学习笔记(第3章):Git常用命令_第12张图片

  • Step2:新增文件
    • 新增并编辑文件:vim hello.txt
    • 查看文件(全部内容):cat hello.txt
    • 查看文件(部分内容):tail -n 1 hello.txt(最后一行)

Git学习笔记(第3章):Git常用命令_第13张图片

  •  Step3再次查看本地库状态(工作区已经存在文件

Git学习笔记(第3章):Git常用命令_第14张图片

  • 文件状态1:Untracked files(未跟踪的文件)
    • 在工作目录(工作区)中有新文件,但尚未被Git跟踪;
    • 这些文件不在Git的版本控制之下,Git并不追踪这些文件的变化;
    • 可使用git add命令将这些文件添加到暂存区,以实现Git的追踪;然后使用git commit将其提交到版本库。 

3.4 添加暂存区

基本语法

  • git add 文件名:添加单个文件
  • git add .:添加所有文件

案例实操

  • Step1查看本地库状态(同“3.3 Step3”)(暂存区不存在任何文件

Git学习笔记(第3章):Git常用命令_第15张图片

  • Step2:将工作区的文件添加到暂存区,再次查看本地库状态(暂存区检测到存在文件
    • Git默认将行末换行符进行转换
    • Windows的行末换行符:CRLF(Carriage Return Line Feed) \r\n → 回车符+换行符
    • Linux的行末换行符:LF(Line Feed)  \n → 仅为换行符

Git学习笔记(第3章):Git常用命令_第16张图片

  • Step3:将暂存区的文件删除(工作区的文件并没有删除),再次查看本地库状态(同“Step1”)

Git学习笔记(第3章):Git常用命令_第17张图片

Git学习笔记(第3章):Git常用命令_第18张图片

  • Step4:将工作区的文件重新添加到暂存区,并查看本地库状态

Git学习笔记(第3章):Git常用命令_第19张图片

  • 文件状态2:Changes to be committed(已暂存的改动)
    • 文件的修改已经被添加到了暂存区(在暂存区生成了快照,等待被提交到版本库),Git已经追踪到该文件;
    • 这个状态是通过“git add”命令将文件添加到暂存区后出现的;
    • 可使用“git commit”命令将暂存区的改动提交到版本库;或使用“git rm”命令将该文件从暂存区中删除。

3.5 提交本地库

基本语法

  • git commit -m "日志信息" 文件名

案例实操

  • Step1查看本地库状态(同“3.4 Step4”)(存在待提交的文件

Git学习笔记(第3章):Git常用命令_第20张图片

  • Step2:将暂存区的文件提交到本地库,再次查看本地库状态(不存在待提交文件
    • 不再显示No commits yet,表明当前已经提交过历史版本或拥有版本信息。
    • 显示nothing to commit, working tree clean,表明提交后没有文件的新增或修改,工作树是干净的,无任何东西需要再次提交。

Git学习笔记(第3章):Git常用命令_第21张图片

3.6 历史版本

基本语法

  • git reflog:查看版本精简信息(精简版本号、指针指向、日志信息)
  • git log:查看版本详细信息(完整版本号、指针指向、提交者的用户签名Author、提交日期Date、日志信息)

案例实操

  • 当前指针HEAD指向master分支的第一个历史版本

Git学习笔记(第3章):Git常用命令_第22张图片

3.7 修改文件

第二次修改

  • Step1:修改文件,查看本地库状态

Git学习笔记(第3章):Git常用命令_第23张图片

  • Step2:将工作区的修改文件添加到暂存区,再次查看本地库状态

Git学习笔记(第3章):Git常用命令_第24张图片

  • Step3:将暂存区的文件提交到本地库,再次查看本地库状态、历史版本
    • Git是按照行来维护文件的,修改一行 等价于 删除一行和插入一行

Git学习笔记(第3章):Git常用命令_第25张图片

Git学习笔记(第3章):Git常用命令_第26张图片

第三次修改

  • Step1:修改文件,查看本地库状态

Git学习笔记(第3章):Git常用命令_第27张图片

  • Step2:将工作区的修改文件添加到暂存区,再次查看本地库状态

Git学习笔记(第3章):Git常用命令_第28张图片

  • Step3:将暂存区的文件提交到本地库,再次查看本地库状态、历史版本

Git学习笔记(第3章):Git常用命令_第29张图片

Git学习笔记(第3章):Git常用命令_第30张图片

  • 注1:由于当前指针HEAD指向master分支的第3个版本,因此使用“cat”命令查看文件,显示的是第3个版本的内容。

Git学习笔记(第3章):Git常用命令_第31张图片

  • 注2:尽管存在多个版本,但是工作区从始至终只有一个文件。换句话说,Git进行版本控制并不是通过副本来实现的,而是通过指针实现的。

Git学习笔记(第3章):Git常用命令_第32张图片

  • 文件状态3:Changes not staged for commit(未暂存的改动)
    • 这表示已经跟踪的文件发生了修改,但这些修改尚未被添加到暂存区。
    • 这些修改不会被包含在下一次的提交中,除非你使用git add命令将其添加到暂存区。
    • 这个状态通常通过git diff查看未暂存的改动。

3.8 版本穿梭

基本语法

  • git reset --hard 版本号

案例实操1(向前穿梭)

要求:从历史版本3穿梭回到历史版本2

  • Step1:查看历史版本信息(复制历史版本2的版本号)

Git学习笔记(第3章):Git常用命令_第33张图片

  • Step2:版本穿梭(切换回第2个历史版本)

  • Step3:再次查看历史版本信息(此时指针HEAD已经指向master分支的第2个版本)
    • 注:工作区中hello.txt文件的内容也会穿梭到相应版本

Git学习笔记(第3章):Git常用命令_第34张图片

Git学习笔记(第3章):Git常用命令_第35张图片

  • Step4:验证指针的指向(查看配置文件)

Git学习笔记(第3章):Git常用命令_第36张图片

Git学习笔记(第3章):Git常用命令_第37张图片

Git学习笔记(第3章):Git常用命令_第38张图片

Git学习笔记(第3章):Git常用命令_第39张图片

案例实操2(向前穿梭)

要求:从历史版本2穿梭回到历史版本1

  • Step1:查看历史版本信息(复制历史版本1的版本号)

Git学习笔记(第3章):Git常用命令_第40张图片

  • Step2:版本穿梭(切换回第1个历史版本)

  • Step3:再次查看历史版本信息(此时指针HEAD已经指向master分支的第1个版本)
    • 注:工作区中hello.txt文件的内容也会穿梭到相应版本

Git学习笔记(第3章):Git常用命令_第41张图片

Git学习笔记(第3章):Git常用命令_第42张图片

Git学习笔记(第3章):Git常用命令_第43张图片

  • Step4:验证指针的指向(查看配置文件)

Git学习笔记(第3章):Git常用命令_第44张图片

Git学习笔记(第3章):Git常用命令_第45张图片

Git学习笔记(第3章):Git常用命令_第46张图片

案例实操3(向后穿梭)

要求:从历史版本1穿梭到历史版本3

  • Step1:查看历史版本信息(复制历史版本3的版本号)

Git学习笔记(第3章):Git常用命令_第47张图片

  • Step2:版本穿梭(切换回第3个历史版本)

  • Step3:再次查看历史版本信息(此时指针HEAD已经指向master分支的第3个版本)
    • 注:工作区中hello.txt文件的内容也会穿梭到相应版本

Git学习笔记(第3章):Git常用命令_第48张图片

Git学习笔记(第3章):Git常用命令_第49张图片

Git学习笔记(第3章):Git常用命令_第50张图片

  1. Step4:验证指针的指向(查看配置文件)
  • Git学习笔记(第3章):Git常用命令_第51张图片

Git学习笔记(第3章):Git常用命令_第52张图片

Git学习笔记(第3章):Git常用命令_第53张图片

Git学习笔记(第3章):Git常用命令_第54张图片

小结

        在Git中,有三种常见的状态,分别是"Untracked files"、"Changes not staged for commit"和"Changes to be committed"。这些状态反映了文件在Git版本控制中的不同变化阶段。

  • Untracked files(未跟踪的文件):
    • 这表示有新文件在工作目录中,但尚未被Git跟踪。
    • 这些文件不在Git的版本控制之下,Git并不追踪这些文件的变化。
    • 可以使用git add命令将这些文件添加到暂存区,然后使用git commit将其提交到版本库。
  • Changes not staged for commit(未暂存的改动):
    • 这表示已经跟踪的文件发生了修改,但这些修改尚未被添加到暂存区。
    • 这些修改不会被包含在下一次的提交中,除非你使用git add命令将其添加到暂存区。
    • 这个状态通常通过git diff查看未暂存的改动。
  • Changes to be committed(已暂存的改动):
    • 这表示文件的修改已经被添加到了暂存区,准备提交到版本库。
    • 这个状态是通过git add命令将文件添加到暂存区后出现的。
    • 使用git commit命令可以将暂存区的改动提交到版本库。
    • 这些状态可以帮助你了解工作目录中文件的状态,以及它们在版本控制中的变化。使用git add和git commit命令可以管理这些状态,使代码的变化被记录并保持版本控制的一致性。

你可能感兴趣的:(Git,GitHub,Gitee,GitLab,git,学习,笔记)