事后如何在git中移动文件?

时间:2016-02-02 15:37:30

标签: git

我遇到了这种情况,在一个分支的克隆中我弄乱了一个文件,重命名它,将它移动到不同的位置,甚至有2个副本(不要问......)现在我终于决定了最后的位置。

但是,每当我合并该文件中的更改时,git会在旧位置(使用旧名称)重新创建该文件,而不是将其与新文件合并。

我如何告诉git将新文件视为旧文件的移动?

更新

我尝试通过以下步骤自行解决:

  1. 将新文件移回旧位置并重命名。
  2. 提交并推送。
  3. 将原始分支与该文件中的更改合并到克隆中。
  4. 将文件移回并重命名为原来的文件。
  5. 提交并推送。
  6. 然后我在原始分支中进行了另一次更改并再次合并,只是为了看到git再次创建旧文件。

1 个答案:

答案 0 :(得分:0)

如果git自动合并不能达到你想要的效果,你应该进行手动合并:

  1. git merge <branch> --no-commit --no-ff

    这将在分支

  2. 处开始合并
  3. 手动修复所有文件。

    您为repo所做的所有操作都会混淆git,并通过直接在合并提交中定义正确的状态,为以后省去了麻烦。

  4. git addgit commit

    提交您的更改。