Git 从另一个分支复制目录
有一个问题“”说明了如何进行。但它不会删除当前分支中的文件,而是删除其他分支中的文件 我通常使用的解决方案很少:Git 从另一个分支复制目录,git,Git,有一个问题“”说明了如何进行。但它不会删除当前分支中的文件,而是删除其他分支中的文件 我通常使用的解决方案很少: 本地删除目录rm-r dir,然后执行git checkout otherBranch--dir。它可以工作,但是对于大目录来说速度很慢 git checkout dir然后git rm$(git diff--仅命名其他分支--dir)。这是可行的,但我认为应该有更好的解决办法 有更简单的方法吗 git reset otherBranch -- dir git clean -df g
rm-r dir
,然后执行git checkout otherBranch--dir
。它可以工作,但是对于大目录来说速度很慢git checkout dir
然后git rm$(git diff--仅命名其他分支--dir)
。这是可行的,但我认为应该有更好的解决办法git reset otherBranch -- dir
git clean -df
git checkout .
这将用另一个分支上相同目录的内容更新dir的内容。我不知道任何其他方法,但我很好奇:您是否尝试过运行基准测试以了解这两种方法的运行情况,例如,
github.com/git/git
存储库?@Jubobs我打赌第二个选项会更快,但如果diff
返回的列表太大,则可能会失败。如果文件名有空格或特殊字符,它也会失败。如果您的想法是在少量目录状态(即分支)之间频繁切换,那么您应该拥有文件系统上的所有状态,并且只对您想要的状态进行符号链接。结果是即时的。@JoeAtzberger不,有时我想将目录恢复到其他版本时会这样做。