我有2个文件几乎完全相同,只有一个文件具有一些特定的开发环境线,而另一个没有。我希望能够复制对"制作"所做的更改。文件,并在"开发"中的适当位置包含这些更改。文件。例如,当生产文件的第55行包含新的脚本标记时,我可以使用(最有可能的git命令)复制该更改的内容,在开发文件中找到它需要继续的行并将其粘贴到那里,所以文件保持同步。
答案 0 :(得分:2)
您可以使用patch
命令行实用程序来实现此目的。假设您已对file-a
进行了编辑,但尚未暂停更改,并且您现在想要将相同的修补程序应用于file-b
,则可以执行
git diff file-a | patch file-b
没有干净利落的差异将被写入新文件,屏幕上会显示诊断消息。
您可能会考虑是否确实要保留冗余。您不能以基于公共模块或包含文件的方式重构文件,因此您不必对这两个文件进行相同的更改吗?或者替代,如果文件所写的语言不支持这种抽象,那么添加一些预处理来构建另一个文件?
手动保持文件同步似乎很麻烦且容易出错。