重建我有一個不斷被我每次執行「git的拉」時間「再創造」與交替字母大小寫一個Git分支。假設分支的名字是「A」(或「A」對所有我知道的),一個「git的拉」會產生行:的Git分支不斷得到上拉
* [new branch] a -> origin/a
再下一個「混帳拉」會產生:
* [new branch] A -> origin/A
這永不停止。我不知道該分支是如何創建的(或者它是如何創建的)。
如何馴服這個分支並使其停止這樣做呢?
重建我有一個不斷被我每次執行「git的拉」時間「再創造」與交替字母大小寫一個Git分支。假設分支的名字是「A」(或「A」對所有我知道的),一個「git的拉」會產生行:的Git分支不斷得到上拉
* [new branch] a -> origin/a
再下一個「混帳拉」會產生:
* [new branch] A -> origin/A
這永不停止。我不知道該分支是如何創建的(或者它是如何創建的)。
如何馴服這個分支並使其停止這樣做呢?
作爲評價所提到的,既refs/heads/A
和refs/heads/a
存在遙控器上。這確實意味着存在兩個不同的分支。 (Git本身區分大小寫,因爲大多數非Windows文件系統都是如此。)
但是,如果您使用的是Windows,則可能會解釋此問題。 Refs被創建爲單個文件,每個文件一個。 Git在遠程會看到兩者,但是當它試圖在本地更新它們時,只有一個存在,所以另一個總是被創建。兩個操作的內部順序必須是新創建的一個覆蓋另一個,導致交替。
如果裁判都指向同一個commit,那麼解決的辦法是刪除其中一個遙控器上:
git push origin :refs/heads/A
這也可以發生在Mac OS X(我轉載它),也有一個解決方法(如果其中一個分支不能只是刪除/重命名):使用*磁盤工具*創建一個磁盤映像與「Mac操作系統擴展(區分大小寫,日誌式)「文件系統(**文件**> **新**> **空白磁盤映像... **)和'cd'到新卷,然後再克隆區分大小寫的存儲庫。 – 2011-05-17 03:46:17
看來,你既然得到[新的分支]所有的時間原點/ a和產地/ A是本地被刪除。如果某人或某物正在刪除這些引用,那麼每當您從遠程獲取(或拉出)時都會獲得這些分支。你有沒有嘗試克隆倉庫?你是唯一有這個問題的人嗎?
我不是唯一有這個問題的人。當團隊中的其他人遇到這個問題時,我首先遇到了這個問題,並認爲重新克隆可以解決這個問題。我不確定他們是否試圖重新克隆,並且它消失了。我會發現的。現在我有同樣的問題。我不相信本地發生刪除,因爲每次發生這種情況時,即使在本地回購中沒有發生任何其他情況。我可以立即執行'git pull',每次都會發生。 – acoward 2011-05-16 06:49:23
當你拉動時,你有沒有任何git掛鉤發射? – ralphtheninja 2011-05-16 08:03:11
我是git newb。我認爲,因爲我不知道如何讓git鉤子開火,我沒有它們,對吧? – acoward 2011-05-16 15:18:38
我只是遇到了這個問題。在我的情況下,其中一個分支名稱與另一個分支名稱直接相連,所以我從遠程刪除了較舊的分支,因爲它沒有添加任何值。假設分支刪除是「一」,那麼此命令將從遠程刪除(名爲「起源」):
git push origin :a
一對夫婦取的,問題就消失了(直到有人再次推動它。 ..)
這個分支(或分支?)是否出現在'git ls-remote origin'的輸出中? – Cascabel 2011-05-16 12:39:21
您似乎遇到了某些事情。這個列表中確實出現了兩個分支。一個是refs/head/a,另一個是refs/head/A.我認爲這意味着有人創建了兩個不同情況下的分支,但沒有注意到,對吧? – acoward 2011-05-16 15:17:04