好的,所以我对git很陌生,害怕做任何会永久搞砸的事情。我昨天做了一个提交,然后从远程回购中拉出来,并在一些文件上搞砸了。现在我想回到我承诺完成之后和之前所做的一切,但我想确保我不会在远程分支上搞乱任何东西,也不想失去我承诺的任何东西。我该怎么办?我知道有很多这样的问题,但我想专门问我想做什么。另外,一旦我回到最后一次提交,我是否可以再次从远程分支中取出?本地删除所有内容以提交最后一次提交?
回答
如果你真的不想在本地搞乱任何东西,只需在新文件夹中复制(复制)整个回购,然后在新文件夹中试用。
我不想失去任何东西,我犯
首先,你在哪一个分支(将引用您的最后commmits)
git branch tmp
从“HEAD and ORIG_HEAD in Git “:
“
pull
”或“merge
”始终将当前分支的原始顶端留在ORIG_HEAD
中。
git reset --hard ORIG_HEAD
如果没有后拉更多的合并,然后ORIG_HEAD不会有正确的信息了,你就一定得在git reflog
拉之前提交。
我想确保我不要弄乱的远程分支什么,
的git reset
是应用到你的本地克隆本地命令:远程回购不知道的。
一旦你重置,你可以git cherry-pick
你看到的最后几个提交git log tmp
。
请问HEAD和ORIG_HEAD有什么不同? – user3507586
@ user3507586:http://stackoverflow.com/a/967611/6309“ORIG_HEAD'是'HEAD'的前一状态,由具有可能危险行为的命令设置,以便于恢复它们。 – VonC
好吧,我做的是'git reset --hard 8b22b3b',它重置为我认为的那个提交?但是当我运行'git status'时,我看到一堆未跟踪的文件,我不确定它们来自哪里。这是正常的吗? – user3507586
- 1. 使用TortoiseGit删除所有提交后的所有提交
- 2. 提交svn unstages最后一次提交?
- 3. 删除文本框提交内容
- 4. 删除本地提交?
- 5. git push:推送除最后一个提交以外的所有提交
- 6. 删除所有内容以重新提交
- 7. 是否可以在git中一次一个地提交提交,而不是同时提交所有提交?
- 8. 在某个提交后删除分支中的所有提交
- 9. 每次提交之后执行推送的好处和成本比提交多次提交后有所提高
- 10. 如何从本地提交中删除文件,这不是我最后一次提交
- 11. 如何恢复一个svn提交意外删除以前的提交内容?
- 12. 如何暂时删除最后一次提交与Git?
- 13. 如何删除Github上的最后n个提交和本地?
- 14. 获取最后一次提交之前的提交
- 15. Eclipse Egit新的提交覆盖了最后一次提交
- 16. Git - 如何返回上次提交并删除所有未提交的文件?
- 17. 从mercurial repository中删除所有本地书签和提交
- 18. git diff最后提交加上所有未提交的更改?
- 19. 更新内容提交后
- 20. git非交互式地删除提交
- 21. 删除本地提交不Git中
- 22. 如何撤消最后一次提交
- 23. 删除SVN提交的所有痕迹
- 24. 从所有提交中删除文件
- 25. 删除所有Git提交记录
- 26. 是否mysql_query提交了所有内容
- 27. 将最近一次提交的提交消息更新到本地分支
- 28. 创建Github拉请求第一次提交和最后一次提交?
- 29. 提交后清除所有字段
- 30. 本地提交后Git拉
删除所有内容并再次克隆 – Sleepyhead
尝试'git ref-log'。你应该能够看到你的提交。重置您的存储库到该提交。 –
@sleepyhead:如果user3507586删除所有内容,它们的提交将会丢失。 –