git的patch 管理
git patch 功能是用来将自己更改的代码也就是与源码之间的差异存放在指定的patch文件,在源代码中直接 git apply patch 就可以将修改轻松应用到别的地方。
使用方法:
git diff master >patch 表示当前与master分支的差异存放到patch中
git diff --cached > patch
git diff branchname --cached > patch
git apply patch 表示将当前的patch 文件修改的地方应用到当前分支
其方式与另外拉出一个分支,然后将修改代码的分支与主分支merge的合并操作是一致的。
与开源库进行同步开发的过程中,可以将自己的修改保存为patch文件,然后应用到更新后的代码,保证同步开发。
git diff 方式生成的patch,在实际使用中似乎控制的不太好,我在使用过程中会发生patch文件过大,应用patch error过多。
主要原因为我在git管理的时候讲vs工程文件和二进制文件一并纳入管理,但是我期望是只更新代码不更新工程。
取而代之的是使用
git format-patch -1 上一次提交
git format-patch -1 -4 上一次提交到上4次提交
这样可以单独同步控制每次提交的内容。
应用时
git am *.patch
补充小技巧:
如果有额外信息需要补充,但又不想放在提交消息中说明以免搞乱了提交说明。可以编辑这些补丁文件,在第一个“---” 行之前添加说明即可。这样的信息能阅读,但在执行完git am命令之后该节点的提交信息不回包含上述信息
posted on 2017-07-20 10:47 abstract_cai 阅读(508) 评论(0) 编辑 收藏 举报