例如,让我说我有两个文件,A和B.我创建了B作为A的副本,但我希望它们非常相似 - 我只想在B中有几行不同。是否有在Git中以任何方式同步这些更改的方法,或者更有效的方法来完成此任务?
答案 0 :(得分:2)
您有以下选择:
使用apply-patch-to-file。您可以使用以下方式生成补丁:
git format-patch HEAD^
然后使用:
申请apply-patch-to-file -i ~/patches/0001-my-test-commit.patch
系统将提示您,并询问应该应用补丁的文件。
直接使用patch
命令,通过创建差异:
git diff HEAD^ -- hello.test > ~/patch_file
然后将diff应用于另一个文件:
patch -p1 another_path/subdir/different_file.test ~/patch_file
答案 1 :(得分:0)
您可以将差异更改存储在文件中,并使用此补丁文件单独修补A和B.
答案 2 :(得分:0)
如果你能生成这种差异,那么你可以:
A
B
(并实际将其添加到.gitignore
)git checkout
时生成 B
。这称为content filter driver,使用.gitattributes
declaration。
(图片来自" Customizing Git - Git Attributes",来自" Pro Git book")