如何将我的本地Git分支名称更改为大写

问题描述 投票:1回答:4

我从我的主人(起源)创建了一个分支,并将其命名为TEST-101(大写)。然后,我在我的分支机构工作并承诺并将我的更改推向原点。当我登录Github时,我可以看到我创建的分支。

我使用git bash并检查了我的本地版本的分支,但我输入全部小写:test-101。然后我使用Git Gui并将我的更改提交给以小写字母输入的分支,当我尝试推送这些更改时,它给了我一个错误:

POST git-receive-pack (390618 bytes)
remote: error: failed to lock refs/heads/test-101
Pushing to ht://example/example/example/example.git
To ht://example/example/example/example.git
! [remote rejected] test-101 -> test-101 (failed to lock)
error: failed to push some refs to 'http://example/example/example/example.git'

(请注意,我在错误中更改了一些私人信息。)

我做了一些阅读,看来我的本地分支是小写的,而远程分支是大写的可能会导致问题?

git github version-control
4个回答
3
投票

您可以执行以下操作:

git branch -m test-101 tmp_branch
git checkout tmp_branch
git merge TEST-101 // make sure your data is up to date
git branch -D TEST-101
git branch -m tmp_branch TEST-101

-m选项重命名分支,-D选项将删除分支。


3
投票

以下解决了这个问题:

git branch -m test-101 tmp_branch
git branch -m tmp_branch TEST-101

0
投票

重命名本地分支以匹配远程分支的名称(确切地说,包括大写)将解决此问题,但您也可以只显式指定本地和远程分支的git push

git push test-101:TEST-101

0
投票

对于今后遇到这种情况的人(比如我),发现这不起作用:

git branch -m branch_name tmp
git branch -m tmp BRANCH_NAME

你很可能在你的分支名称中有斜杠,例如BRANCH/NAME;如果确实如此,您需要执行以下操作(从repo的根目录开始):

git branch -m branch/name tmp
mv .git/refs/heads/branch .git/refs/heads/BRANCH
git branch -m tmp BRANCH/NAME

与此同时,我已将此内容提交给Git邮件列表,并等待回复。

© www.soinside.com 2019 - 2024. All rights reserved.