git不会推送到远程分支“Everything up-date”

时间:2013-05-19 18:54:28

标签: git

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

我有一个名为“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

2 个答案:

答案 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