2013-05-19 41 views
4

我在這裏查看當前的解決方案,我遇到的問題,但他們的答案似乎並沒有解決推動工作的問題。git不會推送到遠程分支「一切都是最新的」

我有一個名爲「dev」的本地分支,它假設跟蹤遠程分支「v1.0-7.22-dev」。

我克隆了回購,並簽出遠程分支「v1.0-7.22-dev」作爲本地「dev」。

我做了一個承諾,我的當地的「開發」,當我運行的git狀態,我得到以下幾點:

$ 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

嘗試:

git push origin dev:v1.0-7.22-dev 
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將推送到它配置的上游分支。 - 完全符合你的預期。