让我们说我有一个名为Dev的分支。结帐开发我会键入如何让git bash分支区分大小写?
git checkout Dev
现在有时候,我很愚蠢,并键入
git checkout dev
系统了解到,我想签出本地Dev分支,所以它是指分支和结帐开发但用名字dev。
问题出现在我将其推到原点时。当origin/Dev已经存在时,它会创建一个新的分支源/ dev。
有没有解决方案?
让我们说我有一个名为Dev的分支。结帐开发我会键入如何让git bash分支区分大小写?
git checkout Dev
现在有时候,我很愚蠢,并键入
git checkout dev
系统了解到,我想签出本地Dev分支,所以它是指分支和结帐开发但用名字dev。
问题出现在我将其推到原点时。当origin/Dev已经存在时,它会创建一个新的分支源/ dev。
有没有解决方案?
你可以创建一个别名为你做这个,然后总是使用别名。请注意,您需要做的不仅仅是git checkout
,但这是一个开始。
[email protected] ~/repos/git-test master
$ git branch
feature
* master
[email protected] ~/repos/git-test master
$ git chkout Feature
[email protected] ~/repos/git-test master
$ git branch
feature
* master
[email protected] ~/repos/git-test master
$ git chkout feature
Switched to branch 'feature'
[email protected] ~/repos/git-test feature
$ git branch
* feature
master
下面是我的~/.gitconfig
中的chkout
定义。
[alias]
chkout = !sh -c 'git for-each-ref --shell | cut -f 2 | grep -q \"refs/heads/$1\" && git checkout $1' -
是的。切勿在分支名称中使用大写字母。
如果这不是你的项目,你不能改变分支名称,你必须得到什么whoopata建议。
这里有一些[文字],也许它有助于理解问题和“解决方案”。 – woopata
Git的构建不是为了抵御由不区分大小写的文件系统引入的混淆和隐患和错误。如果你被困在一个人身上,你就会为自己辩护。苹果,后来微软在重用方面做了很多事情,但不区分大小写的文件名从一开始就是一个烂摊子,从来没有改进。对于这个问题,我所听说过的所有可能的修复(缺少修复文件系统)都比问题更严重。 – jthill
感谢这些信息,我的团队以大写分支开始,所以我必须遵守,他们都使用sourcetree,所以我最终可能会使用gui来保护自己。 – kotsumu