二 『现学现忘』Git分支 — 41、分支基本操作

目录

  • 6、新建一个分支并且使分支指向指定的提交对象
  • 7、思考:
  • 8、项目分叉历史的形成
  • 9、分支的总结
提示:接上篇
6、新建一个分支并且使分支指向指定的提交对象使用命令:git branch branchname commitHash
我们现在本地库中只有一个 master 分支 , 并且在 master 分支有三个提交历史 。
需求:创建一个 testing 分支 , 并且testing 分支指向 master 分支第二个版本 。
# 1.查看提交历史记录L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git log --graph --oneline* b97ccfd (HEAD -> master) 第3次提交 , 新增内容:branch test v3* f72a9fe 第2次提交 , 新增内容:branch test v2* fa2439a 第1次提交 , 新增readme.txt文件# 2.创建testing分支L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git branch testing f72a9fe# 3.查看提交历史记录 , 此时我们还在master分支上L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git log --graph --oneline* b97ccfd (HEAD -> master) 第3次提交 , 新增内容:branch test v3* f72a9fe (testing) 第2次提交 , 新增内容:branch test v2* fa2439a 第1次提交 , 新增readme.txt文件# 4.切换到testing分支L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git checkout testingSwitched to branch 'testing'L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ git log --graph --oneline* f72a9fe (HEAD -> testing) 第2次提交 , 新增内容:branch test v2* fa2439a 第1次提交 , 新增readme.txt文件# 5.再来查看readme.txt文件内容L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ cat readme.txtbranch test v1branch test v2如上 , 我们看到新创建的 testing 分支 , 创建在master分支的第二个版本上了 。
HEAD 指针的移动状态如下图:
执行git branch testing f72a9fe命令 , 创建testing 分支后:
二 『现学现忘』Git分支 — 41、分支基本操作

文章插图
执行git checkout testing命令 , 切换分之后:
二 『现学现忘』Git分支 — 41、分支基本操作

文章插图
总结:
在日常工作中 , 我们可以这样的操作 , 切换到之前的版本 , 或者其他人之前写过的版本 。我们把自习需要的代码进行保存 , 然后就可以在切换到自己开发的分支上 , 应用这些代码 , 同时把刚才创建的分支删除掉即可 。
(该操作在工作中非常的实用)
7、思考:git checkout -b branchname commit-Hash命令 , 
能否代替下面两个命令:
  • git branch branchname commitHash
  • git checkout branchname
答案是可以的 。
示例如下:
# 1.查看本地库中所有的分支L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git branch* master# 2.查看当前分支的提交历史L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git log --onelineb97ccfd (HEAD -> master) 第3次提交 , 新增内容:branch test v3f72a9fe 第2次提交 , 新增内容:branch test v2fa2439a 第1次提交 , 新增readme.txt文件# 3.创建testing分支 , 并切换L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git checkout -b testing f72a9feSwitched to a new branch 'testing'# 4.查看testing分支的提交历史L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ git log --onelinef72a9fe (HEAD -> testing) 第2次提交 , 新增内容:branch test v2fa2439a 第1次提交 , 新增readme.txt文件# 5.查看readme.txt是否是V2版本L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ cat readme.txtbranch test v1branch test v2

经验总结扩展阅读