我是Git的新手。我使用的是Git擴展,我想問一下,如果我做了一些更改並在本地提交,但不要推送它。我的本地歷史存儲在哪裏? 我有我從服務器克隆存儲庫的目錄。這是我本地提交歷史存儲的位置,還是存儲在C驅動器中的任何位置?Git本地更改歷史記錄在硬盤上的位置
3
A
回答
5
Git將其所有內部數據存儲在隱藏文件夾.git
中。它是您項目結賬的根源。
1
你本地 git存儲庫存儲在你的倉庫的.git
目錄中的文件中。
3
默認情況下,當克隆存儲庫時,克隆將創建一個工作目錄,其中默認分支已簽出自動餘量。在這個工作目錄的根文件夾中是一個隱藏文件夾; .git
。 .git
文件夾是存儲庫的本地副本幷包含所有內容。
更具體地說,在.git
文件夾內有幾個關於這個問題的感興趣的文件夾。
對於每個本地分支,文件路徑爲.git/refs/heads
。例如,如果您有默認的master
分支,則會有一個文件在.git/refs/heads/master
。該文件包含該分支上最新提交的提交編號。
提交的數據存儲在.git/objects
文件夾的文件中;在提交哈希的前兩位數字的文件夾內以及哈希的其餘數字的文件內。例如,在我目前正在使用master
文件的存儲庫中,包含提交散列號a50eed54467b98094438a22ae52995901c9a7ac9
。該提交的數據位於.git/objects/a5/0eed54467b98094438a22ae52995901c9a7ac9
文件中。
因此,這些文件通常在我的存儲庫中很小,因爲數據只是父級提交的壓縮差異。包含在該文件中的數據正是該提交中所改變的 - 而不是所有內容。
遠程分支所在的提交被存儲在不同的位置。遠程分支位於文件夾.git/refs/remotes/<remote name>/<branch name>
- 非常類似於本地分行的存儲方式。推送時,遠程倉庫中的本地分支被更新 - 當獲取分支時,該文件夾中的遠程分支文件被更新。
相關問題
- 1. Google雲端硬盤更改歷史記錄
- 2. 更改$位置搜索防止推送到歷史記錄
- 3. 如何在提交後刪除本地git歷史記錄?
- 4. 更改Javascript的歷史記錄
- 5. eclipse中的本地歷史記錄
- 6. 如何更改git歷史記錄中的文件路徑?
- 7. 更改git歷史記錄中所有提交的時區
- 8. Emacs導航位置歷史記錄
- 9. 在EF代碼中記錄用戶更改的歷史記錄
- 10. 在git中保存歷史記錄
- 11. git恢復/存儲更改不失其歷史記錄
- 12. Eclipse本地文件歷史記錄
- 13. 搜索Eclipse本地歷史記錄
- 14. 修復損壞的git歷史記錄
- 15. 從Git歷史記錄中刪除具有歷史記錄的特定文件
- 16. 在oracle上跟蹤成員更改歷史記錄
- 17. GWT歷史記錄:歷史記號
- 18. IntelliJ IDEA中的本地歷史記錄配置11
- 19. 如何在本地機器中存儲svn更改歷史記錄?
- 20. git - Blob/index文件歷史記錄
- 21. 更改配置一次,並獲取多個配置更改歷史記錄
- 22. VSO git文件歷史中的「簡單歷史記錄(默認)」和「完整歷史記錄」有什麼區別?
- 23. 如何在Github上重寫共享Git歷史記錄?
- 24. Git-Tfs在分支上缺少歷史記錄
- 25. 來自Mysql歷史記錄在Workbench中的位置?
- 26. git記錄分支頭的歷史記錄嗎?
- 27. 使用本地歷史記錄在eclipse中創建版本
- 28. 導出包含版本歷史記錄的git
- 29. git:更改文件中的一行以獲得完整的歷史記錄
- 30. 歷史更改後強制git克隆
除非你提交回原來的git倉庫,否則你的本地副本是他們所在的唯一地方。 – vonbrand 2013-03-02 04:22:34