2015-04-22 56 views
1

因此,我有一個已發佈的主分支,我們稱之爲測試。我的同事創建一個名爲TEST的分支併發布它。現在,當我'git fetch'它說,有一個名爲TEST的新分支在遠程被檢測到,但是當我做'git branch -r'時它不會顯示出來。 這裏的擷取結果Git - 具有相同名稱但不同情況的分支不顯示

5ddcaca..70707f4 master  -> origin/master 
* [new branch]  TEST  -> origin/TEST 
+ 890caf9...dc42ec8 test  -> origin/test (forced update) 

現在很明顯,創建具有相同名稱的一個分支是不是一個偉大的做法,但我找不到參照這個問題什麼。這只是常識嗎?我覺得刪除我原來的'測試'分支可以解決問題,但我不想意外刪除他的分支,或者以任何方式損壞分支。

由於我必須等到明天與他交談,有沒有人知道解決這個問題?

編輯:我使用的是Windows 7 64位,Git版本1.9.5.msysgit.0,與混帳bash的

+2

這將是值得包括你正在使用的文件系統/操作系統。一些文件系統不區分大小寫,並且會與TEST /測試案例相悖。 –

+0

我會本地並遠程重命名您的分支。如果你有20個分支都叫做測試,它會變得混亂! – gpullen

+1

@Sam遺憾未知的是,分支被存儲爲'.git/refs/heads'目錄內的文件(包含它們指向的提交的哈希)。由於某些文件系統要麼是完全不區分大小寫,要麼至少是不區分大小寫,因此在同一個目錄下創建文件test和test要麼不可能(被完整的不區分大小寫的文件系統禁止),要麼不可行在搜索不區分大小寫的情況下;當'git'搜索'TEST'時發現'test'並認爲它們是相同的。 – axiac

回答

3

如果你想與其他人共享來遠程倉庫,並會頻繁推短命的測試分支,我發現好的做法是命名空間分支。例如,創建分支時(甚至只是推到遠程的時候,如果你喜歡),請致電您的分支:

<your_name>/test 

那麼你的同事應該使用這種約定:

<his_name>/test 

這將避免完全碰撞。

相關問題