如何使 git bash 分支区分大小写?
How do I make git bash branching case sensitive?
假设我有一个名为 Dev 的分支。要结帐 Dev,我会输入
git checkout Dev
现在有时候,我很笨,打字
git checkout dev
系统知道我正在尝试检出本地 Dev 分支,因此它引用该分支并检出 Dev,但名称为 dev。
当我把它推到原点时,问题就来了。当 origin/Dev 已经存在时,它会创建一个新分支 origin/dev。
有解决办法吗?
是的。切勿在分支名称中使用大写字母。
如果这不是您的项目并且您不能更改分支名称,您将不得不按照 whoopata 的建议进行操作。
您可以创建一个替您执行此操作的别名,然后始终使用该别名。请注意,您需要做的不仅仅是 git checkout
,但这是一个开始。
Jeremy@Jeremy-PC ~/repos/git-test master
$ git branch
feature
* master
Jeremy@Jeremy-PC ~/repos/git-test master
$ git chkout Feature
Jeremy@Jeremy-PC ~/repos/git-test master
$ git branch
feature
* master
Jeremy@Jeremy-PC ~/repos/git-test master
$ git chkout feature
Switched to branch 'feature'
Jeremy@Jeremy-PC ~/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/\" && git checkout ' -
假设我有一个名为 Dev 的分支。要结帐 Dev,我会输入
git checkout Dev
现在有时候,我很笨,打字
git checkout dev
系统知道我正在尝试检出本地 Dev 分支,因此它引用该分支并检出 Dev,但名称为 dev。
当我把它推到原点时,问题就来了。当 origin/Dev 已经存在时,它会创建一个新分支 origin/dev。
有解决办法吗?
是的。切勿在分支名称中使用大写字母。
如果这不是您的项目并且您不能更改分支名称,您将不得不按照 whoopata 的建议进行操作。
您可以创建一个替您执行此操作的别名,然后始终使用该别名。请注意,您需要做的不仅仅是 git checkout
,但这是一个开始。
Jeremy@Jeremy-PC ~/repos/git-test master
$ git branch
feature
* master
Jeremy@Jeremy-PC ~/repos/git-test master
$ git chkout Feature
Jeremy@Jeremy-PC ~/repos/git-test master
$ git branch
feature
* master
Jeremy@Jeremy-PC ~/repos/git-test master
$ git chkout feature
Switched to branch 'feature'
Jeremy@Jeremy-PC ~/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/\" && git checkout ' -