繁体   English   中英

Git反向合并子树

[英]Git reverse merge of subtree

我发现了其他一些有关在Git中进行反向合并的问题,但是这些问题都在询问如何反向合并整个提交。 我想反向合并树中的一个目录。 在Git中可能吗?

在Subversion中,您可以执行以下操作:

$ cd /workingcopy/some/subtree
$ svn merge -r802:801 .

并且这将计算修订版801和802之间的反向差异,并将其仅应用于当前目录。

我能想到的最好的是

$ cd /gitrepo/some/subtree
$ git diff <commit-sha1> <commit-sha1>^ . > patchfile
$ patch -p1 < patchfile

虽然我还没有实际测试过。 git可以做得更好吗?

您可以使用git checkout来检出指定修订版本的整个目录。 例如,要将目录src还原为一次提交,需要进行五次提交:

$ git checkout HEAD~5 -- src
$ git status           # See what files changes
$ git diff --cached    # Review the changes
$ git commit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM