我想了解如何使用Git進行本地版本控制。我使用Xcode作爲我的IDE。當我發現有3000個未分離的更改時,我試圖添加最新的更改。我在不知不覺中上演了他們。然後我進入我的項目根目錄,在裏面找到同一個目錄,裏面有相同的文件,等等。我刪除了它,並且由於演示文件丟失,存儲庫進入了損壞狀態。我實際上應該做什麼?這怎麼會發生?Git倉庫損壞
Git倉庫損壞
回答
如果您刪除.git
文件夾,則刪除了實際的本地存儲庫克隆。打撈你的資源(希望你有一個好的版本),並從頭開始創建一個新的資源庫。
如果你想創建一個備份庫中,當你已經有一個,你做的工作,這也許是最簡單的方法,確保你有你想保留(bash的命令沒有提交的修改後,但你,即使你不使用bash的想法,我敢肯定):
cd work/myproject
cd ../..
mkdir backup-upstream
cd backup-upstream
git clone --no-checkout ../work/myproject
然後你再也不需要再直接觸摸備份。現在,你可以設置你當前的工作/項目,以遵循,但它是最簡單和最容易出錯的只是做一個新的克隆,從上述持續關:
cd ../work
mv myproject myproject-backup
git clone ../backup-upstream/myproject
cd myproject
現在,它可以啓發檢查出的差異這些文件,看看有什麼實際改變:
cat .git/config
cat ../myproject-backup/.git/config
然後你work/myproject
下照常工作,當你想創建備份,以防git push
。 backup-upstream下的克隆應該被認爲是任何遠程上游repo,例如github,它實際上是從本地文件系統訪問並不重要。請注意,如果您創建新的分支機構,則需要單獨推送它們,請參閱:How to copy a local Git branch to a remote repo
yep ive做到了這一點。但我失去了我的一個分支。 – 2013-02-28 06:09:12
是啊,目前沒有簽出的所有版本都存儲在'.git' ... – hyde 2013-02-28 06:46:20
,但如何在地球上可以遞歸文件夾的事情發生......它似乎很難甚至有意地做... – 2013-02-28 06:58:06
- 1. 當我做了一個大型的提交時,Git倉庫被損壞:「遠程端可能的倉庫損壞」
- 2. 損壞的Git倉庫(數據流錯誤)
- 3. Git損壞提交
- 4. 修復損壞的git存儲庫
- 5. Git倉庫和TFS倉庫
- 6. Git - 損壞的對象?
- 7. 在git倉庫
- 8. 「git svn rebase」是否會損壞非「git svn」存儲庫?
- 9. Git的損壞回購:如何從一個乾淨的倉庫挑一個git對象
- 10. git push不是git倉庫
- 11. GIT權限:倉庫的倉庫
- 12. Git倉庫與Mercurial子倉庫
- 13. 更改Git倉庫
- 14. Git倉庫太大
- 15. 克隆git倉庫
- 16. Git - 嵌套倉庫
- 17. 分支git倉庫
- 18. Git嵌套倉庫
- 19. Git倉庫提交
- 20. GUI裸git倉庫
- 21. 創建一個包含另一個git倉庫的git倉庫
- 22. H2數據庫損壞
- 23. MySQL數據庫損壞
- 24. SVN數據庫損壞
- 25. structr/neo4j數據庫損壞
- 26. Phpbb3.1 MyIsam數據庫損壞
- 27. 修復損壞的git歷史記錄
- 28. GIT拉錯誤 - 遠程對象損壞
- 29. Git損壞的文件修復
- 30. Hg/Git存儲庫損壞有多嚴重?
即使在本地使用時,最好有兩個副本,即推送到的「上游」存儲庫和克隆你在哪裏做實際的工作和提交。這樣,如果事情失靈,只需再次克隆「上游」並繼續從最後推送。你不能真正地破壞上游的副本,所以即使你推壞東西,舊版本仍然存在。 – hyde 2013-02-28 05:42:16
你怎麼做的..只是告訴我什麼谷歌... :) – 2013-02-28 05:45:07