2015-04-22 55 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 

这将避免完全碰撞。

相关问题