我在这里查看当前的解决方案,解决了我遇到的问题,但他们提供的答案似乎并没有解决推动工作的问题。
我有一个名为“dev”的本地分支,它可以跟踪远程分支“v1.0-7.22-dev”。
我克隆了回购,并将远程分支“v1.0-7.22-dev”检出为本地“dev”。
我向我当地的“dev”做了一个提交,当我运行git status时,我得到以下内容:
$ git status
# On branch dev
# Your branch is ahead of 'origin/v1.0-7.22-dev' by 3 commits.
#
nothing to commit (working directory clean)
当我承诺时:
$ git push
Password:
Everything up-to-date
我的配置文件(服务器名称和回购名称已被编辑)
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://[server-URL]/[remote-repo-directory]
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "dev"]
remote = origin
merge = refs/heads/v1.0-7.22-dev
答案 0 :(得分:3)
您有一个本地分支dev
,它跟踪原点上的远程分支v1.0-7.22-dev
。
如果你只是说git push
,你没有明确说明要在哪里推送,结果取决于git config push.default
的值。
如果未设置此值,则较旧的git版本默认将所有本地分支推送到同名的远程分支。 (在你的情况下,这将在原点上创建一个分支dev
,但是当你跟踪v1.0-7.22-dev
时,你仍将领先它。)
您可能希望将push.default设置为upstream
。然后一个简单的git push
将推送到其配置的上游分支。 - 正是你预期的方式。
答案 1 :(得分:2)
尝试:
git push origin dev:v1.0-7.22-dev