场景:
有时候会遇到不同git仓库但要相互同步代码,而我们只需要导出修改后的代码,我们不可能一个个文件的拷贝出来吧,而且文件夹的目录结构手动处理不管是容错、还是工作量都是不小的开支。因此我们利用
git archive
指令来导出有差异的代码
两个已提交版本的代码差异导出
- 列出两个版本commit(可以使用git log、也可以使用IDEA的
VersionControl
右键Copy Reversion Number
) - 执行命令(win版)
git archive --format=zip HEAD $(git diff --name-only b083cb774d2a19d58ff043bbdea904316e9c84c5 6cc9baeb488f3d6e1f254ef092703351057f3250) > diff.zip
- 执行命令(linux版)
git archive --format=zip HEAD `git diff --name-only b083cb774d2a19d58ff043bbdea904316e9c84c5 6cc9baeb488f3d6e1f254ef092703351057f3250` > diff.zip
b083cb774d2a19d58ff043bbdea904316e9c84c5 表示老版commit
6cc9baeb488f3d6e1f254ef092703351057f3250 表示新版commit
- 注意点: