我使用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
有没有办法将它们全部标记为再次移动?我宁愿做一个更好看的提交。
答案 0 :(得分:0)
git reset
命令取消了您在提交中所做的所有更改(详细explanation on reset
命令)。在您的情况下,最好使用git reset --soft
来保持分阶段的更改。
但好消息是 - 你仍然可以使用它!只需将HARD重置为您最后一次提交即可。可以使用git reflog
找到它的哈希码,你会看到类似的东西:
然后做:
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
将文件标记为已删除/已添加。