我从我们的仓库检查了一个新分支。一切都适合我们的开发分支。但是在新的分支上“推”并没有做任何事情。
一切看起来都很正常 - 有2个提交推送。
-> git branch -vv
develop 8ab7ef1 [origin/develop] Merge branch 'develop' of git.example.com:core-platform into develop
* hotfix112 8521cef [origin/hotfix/1.1.2: ahead 2] CORE-1263 - Completed merging from dev into hot fix.
但Push不做任何事情:
-> git push
Everything up-to-date
-> git status
# On branch hotfix112
# Your branch is ahead of 'origin/hotfix/1.1.2' by 2 commits.
# (use "git push" to publish your local commits)
#
nothing to commit, working directory clean
我发现'git pull'使用远程,但'git push'不使用:
-> git remote show origin
* remote origin
Fetch URL: git@git.example.com:core-platform.git
Push URL: git@git.example.com:core-platform.git
HEAD branch: develop
Remote branches:
core-platform-1.0.0 tracked
develop tracked
hotfix/1.1.2 tracked
master tracked
release/1.0.0 tracked
release/1.1.1 tracked
Local branches configured for 'git pull':
develop merges with remote develop
hotfix112 merges with remote hotfix/1.1.2
Local ref configured for 'git push':
develop pushes to develop (up to date)
->
我无法弄清楚为什么hotfix112没有链接到遥控器,但拉动是。
如何修复此配置?
答案 0 :(得分:2)
Git就像你所描述的那样,因为你有以下情况:
与git的情况一样,你有几个选择如何设置git以按照需要行事:
1。)最简单的方法是更改本地分支的名称以匹配远程分支的名称。然后,推送开始自动工作。所以只需将分支'hotfix112'重命名为'hotfix / 1.1.2':
git branch -m hotfix112 hotfix/1.1.2
2.。)您可以通过将push.default选项设置为“tracking”来更改推送行为。因为您已经将分支'hotfix112'设置为跟踪origin / hotfix / 1.1.2,所以git push将按需运行。要设置本地git选项,请运行:
git config --local push.default tracking
3.。)您可以手动编辑.git / config文件并设置push以匹配本地refspec'hotfix112'到远程'hotfix / 1.1.2'。您应该在[远程“原点”]部分下面添加推线:
[remote "origin"]
url = ...
fetch = ...
push = hotfix112:hotfix/1.1.2
第一种和第三种方法仅适用于hotfix112分支。第二个适用于该存储库中的所有跟踪分支(如果使用全局选项,则全局跟踪)。
答案 1 :(得分:0)
尝试git push origin / hotfix / 1.1.2(远程分支)hotfix112(本地分支),可能在推送到远程时会创建一个链接。很奇怪,虽然你没有分支。
答案 2 :(得分:0)
git push
的当前行为(没有任何其他参数)是推送本地和远程存储库中具有相同名称的所有分支。由于您的本地分支名称与远程分支名称不同,因此如果您将其更改为匹配,git push
应推送您的更改。请注意,这种行为将在未来的git版本(可能是2.0)中发生变化。见:http://article.gmane.org/gmane.comp.version-control.git/193308。如果您想立即更改git push
的行为,请输入git help config
并搜索" push.default"。