2013-07-09 34 views
2

有幾個問題打開"Your branch is ahead of 'origin/master' by X commits." ...但是,我無法修復我提供的解決方案。通過Gerrit Git:本地/主同步與起源/主

這裏是我的情況:

我有一個工作環境格里特和我有權限繞過審查。

git status產量:

# On branch master 
# Your branch is ahead of 'origin/master' by 3 commits. 
# 
nothing to commit (working directory clean) 

上看到我的分公司是領先的remote我試圖把我的分支。

git push gerrit:project master
Everything up-to-date

所以我儘量pull

git pull gerrit:project

From gerrit:project

* branch HEAD -> FETCH_HEAD

Already up-to-date.

git status再次產生相同的狀態my branch ahead of 'origin/master' by X commits

當我diff master origin/master我沒有得到任何更改。

請讓我知道如果我可以與其他命令的輸出,幫助你..

感謝尋找這個。

+0

您使用兩個遠程存儲庫。你推動和拉扯gerrit:項目,但狀態責備起源。你有沒有嘗試'git pull origin','git push origin master'? – Rorick

+0

感謝您的回覆!如果我錯了,請糾正我的錯誤:我的觀點是,在我的案例中,「origin/master」是指'gerrit:project'?考慮到我的假設是正確的,我做了'git pull origin'和'git push origin master'......我認爲它們分別轉化爲相應的命令'git pull gerrit:project'和'git push gerrit:project master' – Vikram

+1

試試'git remote -v'。您會看到與您的回購相關的確切網址。如果它們不同,那麼最有可能的回購也是。無論如何,你真的需要使用別名來做同樣的回購嗎?這似乎很奇怪。如果沒有,最好通過'git remote rm '刪除一個別名。 – Rorick

回答

1

我在這個論壇發佈了一個不同的問題,這個問題的答案也與這個問題有關。

總結這裏有一些步驟,可以做到:

考慮使用push -f

或刪除 「遙控器」,並更新它是這樣的:

git remote -v拋出輸出

origin gerrit:project (fetch) 
origin gerrit:project (push) 

gitref在此處添加您的遙控器並移除原點

git remote add gerrit gerrit:project git remote rm origin git remote -v應顯示以下內容:

gerrit gerrit:project (fetch) 
gerrit gerrit:project (push) 

下面是引用that question of my mine ...這已經回答了。

,因爲我認爲這將是重複的我other question

0

混帳推似乎-f沒有爲我做任何事情,請隨時關閉。這是我的情況。

git reset --hard HEAD~n 

將n替換爲多少次提交您的未來。有時需要幾次。

git pull 

您應當在回購的正確位置現在沒有被「相關」在格里特其他的提交。