分支与合并
把活儿岔开做,之后再合回来。一旦明白有多轻,你用 的方式就变了。
学习目标
- 能开一条分支把工作隔离开
- 能,并自己解决
- 知道分支命名规范和基本策略
分支不过是指向某个的一个名字牌。它不复制文件,所以建和删几乎不花代价。正因如此,在 GIT 里每做一个功能、修一个 bug 就开一条分支才是常态。git switch -c 名字 建好的同时就切过去,活儿干完再回到原分支合并。
合并用 git merge。两条分支改的是不同文件,GIT 自己就合好了。要是同一个文件的同一行被改成了不同样子,GIT 不会替你猜——它会标出冲突然后停下。冲突不是错误,是 GIT 在说「这一处得由人来定」。
冲突时文件里会出现 <<<<<<<、=======、>>>>>>> 这些标记。上面是当前分支的内容,下面是要合进来的。选一边,或者把两边揉成正确的,再把所有标记行删干净,然后 git add 并提交,合并就完成了。分支名前面加上用途——feature/、fix/、chore/——光看列表就知道在干什么。
轻松理解
分支就是一条岔路。你离开大路去试点东西,顺利的话再并回大路(合并)。不顺利的话,把岔路丢在身后就行,大路从头到尾都没被碰过。
本步骤要掌握的命令
别光用眼睛看,去里真敲一遍。手记住了,工作时才使得出来。
git switch -c feature/login- 建分支的同时就切过去。
git switch main- 回到要合入的那条分支。
git merge feature/login- 把做完的分支合进来。有冲突时 GIT 会停下,等你拿主意。
git branch -d feature/login- 删掉已经合并的分支。及时清理,列表才看得清。
常见错误和改正方法
忘了自己在哪条分支上,直接提交到了 main。git status 的第一行会显示当前分支。如果已经提交了、还没 ,就在那个位置用 git branch feature/x 建一条分支,再在 main 上运行 git reset --hard HEAD~1。那个提交会安全地留在新分支上。
这一栏由你自己标记,这里不打分。
要把这一阶段标记为已理解吗?
目前还不能取消,请在真正理解后再标记。
已标记为理解
这一栏由你自己标记,这里不打分。