svn 及 git patch 文件

项目开发中经常会遇到A同事编写的代码需要B同事review,然后由C同事提交,patch文件是一种很好的代码传递方式。

1  svn patch文件操作:

1)      生成svn patch文件

svn status .  #查看当前目录下修改过的文件列表

svn diff . > xxx.patch  #由当前目录下修改过的文件差异,生成xxx.patch文件

svn diff file1 … fileN > xxx.patch  #选取file1 ~ fileN的差异,生成xxx.patch文件 

2)      应用patch文件

svn patch patchfile[patch]  #可以通过svn patch –help 查看说明

3)      从提交记录中生成patch文件

svn log . –v –r revNo  #查看revision revNo中修改的文件列表

svn log . –diff –r revNo > xxx.patch #查看diff信息,类似git log –p

4)      取消补丁

svn revert . –depth infinity (对当前目录修改的文件全部执行revert) 或svn revert file1 … fileN

对于用svn tortoise的童鞋可以用svn create patch及svn apply patch生成和应用patch文件,也很方便。

2  git patch 操作

1)      生成patch文件

git status .

git diff > xxx.patch  或 git diff file >xxx.patch  #由差异生成patch文件

git diff –cache > xxx.patch   #只生成stage的文件patch(即git add之后的,unstaged的不算)

2)      应用patch

git apply –check xxx.patch #查看能否patch成功,不应用patch

git app patch #应用patch

3)      从提交记录中生成patch文件

git format-patch –n 节点N [-mbranch] #n表示生成提交节点最近的n次提交,一般取n=1,可以生成当前提交节点的patch文件,节点N为某次提交的commit id,[-m branch]表示与哪个分支比对

git am xxx.patch #合入patch并执行git commit

4)      取消补丁:

git reset –hard origin/master

         另外,使用git 合入补丁时常常要同步下git库代码,这时可以用gitstash 将修改入栈,然后使用git pull更新代码,更新完后再使用git apply patch 合入补丁,合入后可以用git pop 恢复之前的修改。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值