引子:
上班有问题没有解决,在家里搞定了,于是把改动打成一个补丁,明天应用到公司的工作电脑上。(以下内容转自别处)
1.创建补丁,比如把最新的两次提交纪录转化为补丁文件,可以用如下命令:
git format-patch HEAD~~
这个会在当前目录下生成2个补丁文件。
0001-add-program0-0.cpp.patch
0002-add-program1-0.cpp.patch
从版本HEAD~~开始到HEAD的2次提交,每一次提交对应一个补丁并且文件命名是有序的有约定的。
约定是 序号-commit-message.patch
"commit message"中如果有空格就把空格转换为中横杠。
2.应用补丁(打补丁),收到补丁文件者应用补丁文件,更新代码进行合并测试
A.我们可以用
git apply somename.patch
命令来把补丁文件中的更新变化应用到当前的工作目录下,而不提交。
这我们可以用来继续做后续开发,之后再提交。
B.还有一种就是应用补丁的同时把补丁文件中对应的提交一并提交到当前仓库中。
这样功能我们可以用下面命令:
git am somename.patch
如果需要把所有补丁文件都应用上来,可以这样:
git am *.patch