gpt4 book ai didi

git - 在两个单独的文件上运行 git merge 算法

转载 作者:IT王子 更新时间:2023-10-29 00:47:19 25 4
gpt4 key购买 nike

我想在 git 存储库中的两个任意文件上利用 git-merge 算法。这是我的工作目录:

folder/
file1
file2

file1 和 file2 很相似,但我想看看 git 如何 merge 它们,就好像它们是同一文件的不同版本一样。换句话说,我想要这样的东西:

git merge-files file1 file2 > merge_of_file1_file2

有办法吗?

最佳答案

这真的没有意义,因为您没有提供共同的祖先。但是,如果您有一个,则可以使用:

git merge-file <current-version> <common-ancestor> <other-version>

这会将结果放在当前版本文件中;如果你想在别处使用它们,请使用:

git merge-file -p <current> <common> <other> > <dest>

它需要共同的祖先提供一些东西来考虑相对于它的变化。您可以通过从您的存储库历史中提供一个空文件或其中一个的旧版本的副本来破解它,但结果的质量将取决于您选择共同祖先的程度,因为它 merge 了两个差异,在那个和每个新版本之间。空文件只有在两者非常相似(多次运行至少三行相同)时才能正常工作。

否则,您真正能做的就是查看差异:

git diff --no-index file1 file2

关于git - 在两个单独的文件上运行 git merge 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9122948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com