《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

文章目录

一、基本操作

1.git init——初始化仓库,目的:得到本地的工作树和仓库

(1)mkdir和git init初始化仓库

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(2)工作树就是.git文件夹,仓库就是mkdir的文件夹

2.git status——查看仓库的状态:检查是否git add了

(a)git status的说明
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
(b)eg:
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

3.git add——向暂存区(叫Stage或者Index)中添加文件

注:没有git add的话,用git status查看,就会出现untracked files

注:在git add之前,用git diff head查看本次提交与之前提交的差别

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

4.git commit——保存仓库的历史记录

注:git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。

(1)git commit -m “xxxx”操作

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(2)直接输入git commit

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(3)中止提交

如果在编辑器启动后想中止提交,请将提交信息留空并直接关闭编辑器,随后提交就会被中止。

(4)查看提交后的状态

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

5.git log——查看提交日志

注:查看的永远是git commit 或者git commit -m的内容

(1)直接git log

git log命令可以查看以往仓库中提交的日志。包括可以查看什么人在什么时候进行了提交或合并,以及操作前后有怎样的差别。
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
说明:
(a) commit 栏旁边显示的“9f129b……”是指向这个提交的哈希值。 Git 的其他命令中,在指向提交时会用到这个哈希值。
(b)Author 栏中显示我们给 Git 设置的用户名和邮箱地址。 Date 栏中显示提交执行的日期和时间。再往下就是该提交的提交信息。

(2)git log --pretty=short 只显示提交信息的第一行
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(3)git log README.md 只显示指定目录、文件的日志

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(4)git log -p README.md 显示文件的改动

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

6.git diff——查看更改前后的差别

注:查看工作树、暂存区、最新提交之间的差别。

(1)前提:在README.md文件中写 # Git教程
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(2)查看工作树和暂存区的差别

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(3)git diff head查看工作树和最新提交的差别

注:在执行git commit之前可以用git diff HEAD命令查看本次提交与上次提交有什么差别,确认完毕后再提交

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

二、分支操作

(1)分支的解释
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
(2)分支可以同时高效地进行并行开发
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

1.git branch——显示分支一览表

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

2.git checkout -b——创建、切换分支

(1)切换到 feature-A 分支并进行提交(add 和commit操作)

(a)创建名为 feature-A 的分支。
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
(b)
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

(c)一定按照下面的步骤来,才会不影响master分支的README.md文件
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
注:上面所谓的 “才会有下面的结果”:指的是:在master分支查看,在feature-A分支里编辑的README.md,发现并未改变master分支的README.md文件的内容

(2)git checkout master切换到 master 分支

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

2.特性分支

(1)特性分支的定义
特性分支顾名思义,是集中实现单一特性(主题),除此之外不进行任何作业的分支。
在日常开发中,往往会创建数个特性分支,同时在此之外再保留一个随时可以发布软件的稳定分支。
稳定分支的角色通常由 master 分支担当。
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
(2)特性分支的好处
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

3.主干分支

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

4.git merge——合并分支

(1)首先切换到 master 分支
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
(2)然后合并 feature-A 分支。
为了在历史记录中明确记录下本次分支合并,我们需要创建合并提交。因此,在合并时加上 --no-ff参数。
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git
《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git

5.git log --graph——以图表形式查看分支

《GitHub入门与实践》学习笔记(windows)-第4章 通过实际操作学习Git