Commit
每次 Commit
,都会多一个节点,C1是C2的父节点,在C1的基础上产生。
使用 git commit
提交代码分支。
Branch
根据逻辑分解工作到不同的分支,在将分支和提交记录结合起来后,我们会看到两者如何协作。
在 main*
的基础上,使用 git branch <name>
创建 newImage
分支。
通过命令 git checkout newImaghe
,可以切换分支,执行 git commit
即可提交分支。
merge
通过 git merge
命令可以合并分支。我们在新分支上做开发,开发完成后合并主线。
通过 git merge bugFix
,我们将该分支合并到了 main
里。
rebase
在 bugFix
使用 git rebase main
可以在保留c3分支的情况下,开辟c3’
然后切换到 main
上,使用 git rebase bugFix
,将 main
节点前进一步,并切换到 main
节点。
分离Head
可以通过 git checkout C1;git checkout main;git commit;git checkout C2
来改变head的位置。
分离的 HEAD 就是让其指向了某个具体的提交记录而不是分支名。
在命令执行之前的状态如下所示:HEAD -> main -> C1
HEAD 指向 main, main 指向 C1
使用 git checkout C1
后,变为:HEAD -> C1
相对引用
可以从某个分支或HEAD来作为相对引用的节点。
- 使用
^
向上移动1个提交记录 - 使用
~向上移动多个提交记录
,如~3
使用 git checkout main^
或 git checkout main~1
来达到效果。
也可以通过相对引用移动分支,如 git branch -f main HEAD~3