一开始做完推送都是新建分支推上去,等别人来合并,等到要自己合并的时候一脸懵逼。
用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的影响也会有所不同。