我在git中的目录中有一堆文件没有被跟踪。我犯了做错git add .
然后承诺并推的变化。我该如何回到未提交的文件之前未跟踪的文件,但仍然在目录中(git reset --hard
删除了所有文件,对我来说不好,而不是再次解除它们)。我有许多文件位于不同的位置,因此git reset <FILE>
不适用于我。撤消在Git中添加文件
2
A
回答
1
$ git commit -m "Something terribly misguided" (1)
$ git reset HEAD~ (2)
<< edit files as necessary >> (3)
$ git add ... (4)
$ git commit -c ORIG_HEAD
- 这是要撤消
- 这会使你的工作树(您的文件在磁盘上的状态)改变什么,但撤销的承诺,并让你犯不分阶段的变化(这样就在git状态下显示为“未进行提交的更改”,并且在提交之前需要再次添加它们)。如果你只想添加更多的更改到上一次提交,或者更改提交message1,那么可以使用git reset --soft HEAD〜来代替,就像git reset HEAD〜,但是会保留现有的更改。
- 对工作树文件进行更正。
- git添加任何你想包括在你的新提交中。
- 提交更改,重新使用旧的提交消息。重置将旧头复制到.git/ORIG_HEAD;使用-c ORIG_HEAD提交将打开一个编辑器,该编辑器最初包含来自旧提交的日志消息并允许您对其进行编辑。如果您不需要编辑消息,则可以使用-C选项。
1
首先,你要恢复的最后一次提交,并通过回返回的所有文件到临时区域:
git reset --soft HEAD~1
这不会删除任何文件,它是安全的。
然后,您可以删除所有被添加到临时区域中的文件:如果您运行git status
git reset
现在,你可以看到,所有的文件都是不分级。
然后你可以只有git add
你想要的文件。
+0
感谢您的回答!如果您提前30分钟回答,我会将其标记为已接受 – theEpsilon
+0
很高兴能提供帮助。别介意:) @ TheEpsilon –
相关问题
- 1. 如何在git中“撤消撤消”?
- 2. 撤消在GIT中删除
- 3. 撤消Git Clean
- 4. 撤消git commit
- 5. Git编辑撤消。如何使用git编辑撤消多个文件?
- 6. 撤消Git提交由于大文件
- 7. 如何撤消文件上的git checkout?
- 8. Git文件推送到远程撤消
- 9. 撤消git存储,git pull
- 10. 撤消在GIT结帐
- 11. Git - 撤消更改
- 12. 撤消git合并
- 13. git撤消更改
- 14. 撤消Git rebase --abort
- 15. 撤消git commit --amend
- 16. 撤消git push mirror
- 17. 可以在Git中“撤消”我最后的“撤消”吗?
- 18. 撤消多个文件和文件夹“混帐添加”
- 19. RichTextBox撤消添加空格
- 20. 提交前撤消'git add' - 需要删除添加的文件夹
- 21. 在Git中切换分支时撤消文件的修改
- 22. 如何撤消Mercurial中所有添加的文件
- 23. 如何撤消git的附加承诺
- 24. 如何撤消在git中推回复?
- 25. 在Git中删除和撤消
- 26. 我怎样才能撤消我最后的git添加/提交?
- 27. 撤消git合并,但添加合并后提交
- 28. 如何撤消git svn dcommit?
- 29. 撤消git的删除
- 30. 如何撤消git update-index?
可能重复[如何在提交之前撤销'git add'](http://stackoverflow.com/questions/348170/how-to-undo-git-add-before-commit) – jjst
@jjst请参阅编辑为什么我的不同。另外,我是在提交后,而不是之前 – theEpsilon
@theEpsilon你是唯一的回购用户吗?你基本上需要[撤销'git push'](http://stackoverflow.com/questions/1270514/undoing-a-git-push)。 – legends2k