如何将一个文件的差异内容移动到另一个文件(在git中)?

时间:2016-05-23 13:27:56

标签: git refactoring mv

我在git中合并到master时遇到了问题。 我在本地分支(old.file)中处理的文件已被移动并在master(到new.file)中重命名。 将master合并到我的分支后,我现在有了新文件并对旧文件进行了更改。

如何将old.file的更改内容移动到new.file中? 我只想将old-file的20行更改行移动到new.file中,然后删除old.file。

1 个答案:

答案 0 :(得分:1)

存储差异/补丁

你需要一个补丁/差异你想要做的事情。您可以通过多种方式执行此操作,但我发现最简单的方法是following

git diff <some SHAid or HEAD^ or etc...> -- old.file > changes.diff

修改差异

现在我们想要更改diff以便它可以应用于new.file

更改

---a/old.file
+++b/old.file

---a/new.file
+++b/new.file

应用差异

现在补丁将指向正确的文件

git apply changes.diff

清理(可选)

请务必从repo(和本地文件)中删除old.file,因为可能不再需要它。

git rm old.file

相关问题