介绍
git
协同开发时, patch
在某些场景下, 是个不错的选择.
patch
其实就是一个 git diff
记录, 那为什么要用它呢? git
那么多协同开发的工具, 难道非要用它??
- 没有网络时候, 同步一个
feature/fix
给其他开发者/测试人员/客户使用公司网络出问题时, 没法通过
git cherry-pick
或其他git
操作来同步feature/fix
, 这时打一个patch
通过局域网共享或 U 盘拷贝即可共享给对方, 而不影响项目进度 - 有网络时候, 同步一个不成熟或不便于公开的
feature/fix
给所有开发者/测试人员/客户使用有时, 一个
feature/fix
只想同步给协同开发的某几个人, 那么patch
或许比git push
来的更加符合用户体验 For Fun
不玩一下, 会很可惜
打 patch
方法其实很多, 但我这里更推荐下面方式:
- 先将
feature/fix
正常提交到某个分支 git log
查看提交前的old_commitID
(第二个) 和当前提交的new_commitID
(第一个)git
根目录下生成patch
git diff old_commitID new_commitID > feat_cw.patch
注意:
根目录下生成patch
, 方便同步
酱紫, feat_cw.patch
就生成好了, 是不是 so easy
?
应用 patch
切换到同样的根目录下使用一下即可.
git apply feat_cw.patch
注意:
- 需在同样的根目录下应用
- 一些警告可以忽略