一開始做完推送都是新建分支推上去,等別人來合并,等到要自己合并的時候一臉懵逼。
用IDE習慣了也不是什么好事啊,看到命令行就有恐懼感。
自己合并的時候我第一次是直接在master上推的,推之前還直接merge了其他分支,果斷被點名批評了,帶頭大哥對rebase有很強的執念。
有樣學樣的第一次大概是:
git status
git commit -a
然后....就卡住了
因為這里直接進入了vim模式 ,需要為創建commit message,我寫完完全不知道要如何從vim模式中退出,或者提交。
.......
大概是 i 編輯 Esc退出編輯 冒號進入命令行 wq 提交 嗯 也許吧...
然后就是一連串不知所以然的
git fetch
git pull
git push
不知道該說點啥了
多看點書吧孩子
所以說 我們來講講 其他的
其實合并分支可以分為兩種 merge 和 rebase
- 前者就是合并 后者又叫衍合/基線重演
- 合并會保留分支 結果為多分支合并的直接結果(待深入理解)
- 衍合則不會保留分支,時間線看起來比較簡潔,相當于在以分支的共同祖先為基線,將各分支所產生的變化按序在祖先上進行重演,最后合并成一條直線(emmmm.....)
幾點筆記:
- git pull 相當于 git fetch + git merge 但是隱藏了其中一部分的細節,可能會影響排錯過程,因此更多時候應該用git fetch + git merge / git rebase 這樣的分步進行更穩妥
- git push的行為受到本地push.default的影響,這個具體根據git的不同版本會有不同的反應,push的影響也會有所不同。