247
A
回答
504
您可以使用git reflog來查找分支上次提交的SHA1。從這一點來說,你可以重新使用
git branch branchName <sha1>
編輯一個分支:作爲@seagullJS說,該branch -D
命令告訴你SHA1,因此,如果您還沒有關閉終端尚未成爲真正的輕鬆。例如,這將刪除,然後立即恢復名爲master2
分支:
[email protected] /C/MyRepo (master)
$ git branch -D master2
Deleted branch master2 (was 130d7ba). <-- This is the SHA1 we need to restore it!
[email protected] /C/MyRepo (master)
$ git branch master2 130d7ba
34
2
第一:備份您的整個目錄,包括.git目錄。
第二:您可以使用git fsck --lost-found
來獲取丟失的提交的ID。
第三:rebase或合併到丟失的提交。
四:凡事三思而後使用-D之前或與GIT :)
你也可以如何從這種錯誤中恢復read this good discussion --force。
編輯:順便說一句,不要運行git gc
(或允許它自己運行 - 即不運行git fetch
或任何類似的東西),否則你可能永遠失去你的提交。
18
如果你還沒有推刪除的是,你可以簡單地做:
$ git checkout deletedBranchName
+0
這個答案讓Git Extensions閉嘴:「你試圖推送的分支似乎是這個遠程的一個新分支。」非常感謝。 – Omer 2014-12-21 08:56:13
10
如果您剛剛刪除的分支,你會看到這樣的事情在你的終端:
Deleted branch branch_name(was e562d13)
- 其中e562d13是一個唯一的ID(又名「SHA」或「散列」),用此可以恢復已刪除的分支。
要恢復分支,使用:
git checkout -b <branch_name> <sha>
例如:
git checkout -b branch_name e562d13
3
謝謝,這個工作。
的Git分支new_branch_name
sha1
git的結帳new_branch_name
//可以看到我的老文件中檢查了我的老枝
相關問題
- 1. GIT撤消分支-D
- 2. git分支撤消提交
- 3. 撤消git推分支主
- 4. 撤消git的刪除
- 5. 撤消在GIT中刪除
- 6. 撤消git中遠程分支的刪除?
- 7. Git Master Branch - 如何從已刪除分支撤消chnages?
- 8. 撤消使用git push刪除遠程分支--mirror
- 9. git:如何刪除本地ref分支?
- 10. 撤消git merge origin/master - Bitbucket - 合併錯誤分支到本地
- 11. Git撤消合併3個分支
- 12. 撤消git分支上的更改
- 13. 刪除Git分支
- 14. Git - 刪除/撤消提交的方式
- 15. git撤消刪除但保留新作
- 16. 在Git中刪除和撤消
- 17. 在rebase之後安全地刪除本地分支 - 替換git分支 - 合併
- 18. 本地分支Git
- 19. 撤消主分支上的錯誤分支的git拉
- 20. 刪除本地「遠程分支」而不刪除遠程分支?
- 21. 在腳本中刪除本地git分支意外行爲
- 22. Git - 如何刪除分支?
- 23. Git包刪除分支
- 24. 刪除50個Git分支?
- 25. Git:不要刪除分支?
- 26. 刪除git中的分支
- 27. TFS:無法撤消/刪除分支項目
- 28. 撤消git平分錯誤
- 29. 本地刪除分支後git fetch無法工作
- 30. IntelliJ - GIT在GUI中刪除本地孤立分支
很高興知道我不是唯一的lame- o誰做了這件事(並且忘了定期推送到遠程副本) – Ray 2017-08-24 11:48:46
現在讓我們3人 – 2018-01-12 11:14:05