假設我有兩個存盤庫,我經常與它們互動。例如,repo1和repo2。假設我剛剛向 repo1 提交并推送了一個變更,但現在我在 repo2 有作業要做。
在幕后,git 是如何意識到我不再與 repo1 互動,而是與 repo2 互動的呢? (它是否像導航到 repo2 的本地分支所在的目錄那樣簡單?) 我是否需要使用一些命令列語言來告訴git我正在將注意力轉移到 repo2?
uj5u.com熱心網友回復:
默認情況下,Git會根據它被呼叫的目錄對倉庫進行自動發現。 當執行自動發現時,它在當前目錄中尋找是否有.git檔案夾或gitlink,如果沒有,就對父目錄重復這一程序,以此類推,直到它找到檔案系統的根或掛載點。 如果它找到了一個存盤庫,它將包含適當的.git條目的目錄設定為作業樹的根,并將.git檔案夾作為git目錄。
您可以通過使用-C標志來選擇讓自動發現基于不同的目錄作業,該標志必須在命令名稱之前(例如,git -C DIR status),您也可以使用命令列選項或環境變數明確指定目錄。 當你想操作一個子模塊或其他資源庫,但不想改變目錄時,這些都很有用。
然而,這些大多數都是不尋常的情況,在大多數情況下,Git會根據當前的目錄來確定倉庫的位置。 所以將重點轉移到 repo2 就像改變到 repo2 的某個目錄一樣簡單。 在Unix上,這就像cd ~/checkouts/repo2一樣簡單。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/329872.html
標籤:
上一篇:不能再在模擬器或設備上除錯了
