如何重置在git中重置的移动文件?

时间:2014-03-16 21:48:25

标签: git

我使用git mv移动了一堆文件。但后来我提交了一个文件更改,提交包含了所有移动的文件。然后我git reset到上次提交,现在我已经移动的所有文件现在被标记为已删除且未跟踪。

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    deleted:    file1
    deleted:    file2

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    test/file1
    test/file2

有没有办法将它们全部标记为再次移动?我宁愿做一个更好看的提交。

2 个答案:

答案 0 :(得分:0)

git reset命令取消了您在提交中所做的所有更改(详细explanation on reset命令)。在您的情况下,最好使用git reset --soft来保持分阶段的更改。 但好消息是 - 你仍然可以使用它!只需将HARD重置为您最后一次提交即可。可以使用git reflog找到它的哈希码,你会看到类似的东西:

enter image description here

然后做:

git reset --hard 4cc2cbe (instead of 4cc2cbe use hash code of the commit in which you moved the files)
git reset --soft HEAD~1

答案 1 :(得分:0)

git add --all

将文件标记为已删除/已添加。