好的,所以我對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刪除所有內容,它們的提交將會丟失。 –