中午篇
继朝阳篇,上午篇我们了解了,git github的安装、配置、git与github关系、git的容错功能等一些知识。今天我们重点看一下git的分支管理功能。
创建分支:$ git branch <name>
切换分支:$ git checkout <name>
创建+切换分支:$ git checkout -b <name>
查看分支:$ git branch
合并某分支到当前分支:$ git merge <name>(这里的name指的是某分支)
删除分支:$ git branch -d <name>
此时当前分支是branchgit,现在我们将本地的filegit.exe文件进行修改。例如加一句‘当前分支branchgit‘,更改保存后,再将分支切换到master,再看本地filegit.txt文本的变化。
现在我们将分支branchgit的更改合到主分支,再将branchgit分支删除。这也是我们平时工作学习常用到的,再对一段代码修改时,先新建一个分支,确定修改无误后,再将新建的分支合到主分支上,删除新建的分支,最后将本地的master推送到远程仓库,<推送之前需要更新本地代码,这个后面再讲>(不要拿你公司的项目练习啊)。注意,在合分支前,先将分支切换到要接受要操作的对象,我们这里指的是主分支,master。此时再查看本地filegit.txt内容。
禁用快速合并(Fast forward):$ git merge --no-ff -m "merge with no ff" <name>
合并后查看分支历史: $ git log --graph --pretty=oneline --abbrev-commit
查看当前分支某文件内容: cat <file>
查看修改内容:$ git diff <file>
上节我们讲的$ git merge <name>快速合并分支方法,当删除分支后会丢失分支信息。这里我们采用no-ff方法再做次练习,体会下优点。相同的,我们重新创建一个分支——newbranch,修改这个分支,合并这个分支,删除这个分支,查看分支历史。(图中点红点的地方是因为文本中存在中文,乱码了;图中带黄点的是修改的内容<git为我们用+号做标记>;图中带紫点的是修改前的内容)
如上图,我们便可以看到分支历史了。可能有小伙伴要问了,咦?历史在那,就算得到历史有什么用呢?哈哈,聪明你肯定注意到上图中命令窗口的星号后面的那串字符了吧,对,那就是历史。那串字符我们称他为版本号(commit id),通过commit id 我们便可以在时间轴随意穿越了。还记得我们在 "git github小白看过来——上午篇" 中讲的 git 强大的管理功能之回退至n版本小节吗?异曲同工对不对,不谋而合有木有。
$ git reset --hard <commit id>
现在我们想回到318553e这一版本,回到这一版本后,请打开本地filegit.txt文件查看变化(因为我们一直修改的是filegit.txt)。当然版本号不要输错,否则像我那样。结果如下图:
推荐或至此,我们的中午篇讲完了,接下来的git世界更精彩,欢迎访问git github小白看过来——下午篇。深夜码字不容易啊,既然看到这了,是不是赏个推荐或收藏呢?哈哈*