4

我在这里查看了当前解决方案以解决我遇到的问题,但他们提供的答案似乎并不能解决推动工作的问题。

我有一个名为“dev”的本地分支,它假设跟踪一个远程分支“v1.0-7.22-dev”。

我克隆了 repo,并将远程分支“v1.0-7.22-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
4

2 回答 2

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将推送到其配置的上游分支。- 完全符合您的预期。

于 2013-05-19T20:34:38.217 回答
2

尝试:

git push origin dev:v1.0-7.22-dev
于 2013-05-19T19:13:48.400 回答