merge
- git merge就是合并,指定一个 commit 或者 branch,将其合并到当前 branch 或 commit 来。
- 从
目标commit
和当前commit
的分叉点起,将目标commit
上的所有commit
一并合并到当前commit
,并自动生成一个新的commit
。
特殊情况,如何处理
放弃合并
当前处于解决冲突的中间状态, 通过 git merge --abort
取消合并,回到merge之前的状态。
HEAD领先于当前commit
即合并之前的commit,这是一个无意义操作,Git什么也不会做。空merge。
HEAD落后于当前commit(快速前移)
- 在没有其它分支的情况下,Git会把HEAD指向的branch移动到目标commit。
- 当前在HEAD指向master分支,执行
git merge feature1
后的操作如下图所示:
- 专有名词 - (快速前移)
在git pull
经常出现,比如当前master分支本地没有更新,同事推送了新的commit到远程仓库,那么在执行git pull
时,目标commit(远程仓库最新commit) 领先于 当前commit(本地commit),HEAD会携带本地master分支快速前移。
add
git add
添加的是文件改动,而不是文件。
log
git log -p[--patch]
查看具体到每个commit的改动细节。git log --stat
查看每个commit改动的文件。git show [commitId] [filePath]
查看当前commit的改动细节(精确到文件)。- 对比
git diff
查看当前工作区与暂存区的区别。git diff --staged[--cached]
查看当前暂存区与上一条commit的区别。git diff HEAD
查看当前工作区与上一条commit的区别。
本章命令总结
git merge commit/branch
合并某个提交或分支git merge --abort
放弃当前合并git add .
添加某个文件改动到git暂存区- git log 的详细操作 git log
引用声明
本文内容来自掘金小册-Git 原理详解及实用指南的学习笔记内容,图片等均来自原作者。此处只作为笔记记录。
请支持原作者