myrepo/.git/refs/remotes
中有空文件夾。他們的目的是什麼?.git文件夾中空「遠程」文件夾的用途是什麼?
他們似乎映射到過去使用過的遠程名稱。如果是這樣,刪除它們會有什麼影響?
如果我不刪除它們,將添加一個具有相同名稱的遠程文件夾作爲其中一個文件夾會有什麼影響?會導致任何問題嗎?
myrepo/.git/refs/remotes
中有空文件夾。他們的目的是什麼?.git文件夾中空「遠程」文件夾的用途是什麼?
他們似乎映射到過去使用過的遠程名稱。如果是這樣,刪除它們會有什麼影響?
如果我不刪除它們,將添加一個具有相同名稱的遠程文件夾作爲其中一個文件夾會有什麼影響?會導致任何問題嗎?
如果添加了遙控器和推到它的Git存儲值你最後一次推到遙遠的每個分支在裁判/遙控器目錄。
例如,您可以添加遠程叫
origin
,推動您的master
分支到它:
$ git remote add origin [email protected]:schacon/simplegit-progit.git
$ git push origin master
Counting objects: 11, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (7/7), 716 bytes, done.
Total 7 (delta 2), reused 4 (delta 1)
To [email protected]:schacon/simplegit-progit.git
a11bef0..ca82a6d master -> master
然後,你可以看到什麼
origin
遙控器上的master
分支是最後一次您與服務器通信,通過檢查refs/remotes/origin/master
文件:
$ cat .git/refs/remotes/origin/master
ca82a6dff817ec66f44342007202690a93763949
遠程引用不同於分支(
refs/heads
引用)主要是因爲它們不能被檢出。
Git將它們作爲書籤移動到這些分支在這些服務器上的最後已知狀態。
我不建議加在什麼混帳數據庫的內部結構的任何子文件夾,但是,消除它的內容應該是安全的(這隻會意味着未來git fetch
將從申報的遙控器重新獲取一切)。
由於Pro-Git chapter on the refspecs提到:
在這種自動由
git remote add
命令寫在默認情況下,Git會獲取所有refs/heads/
在服務器上的引用,並將其寫入到本地refs/remotes/origin/
。
因此,如果在服務器上的master
分支,你可以在本地通過訪問該分支的日誌:
$ git log origin/master
$ git log remotes/origin/master
$ git log refs/remotes/origin/master
它們全是等價的,他們每個人因爲Git的擴展爲參/遙控器/來源/主。