2013-07-10 73 views
-1

我正嘗試將一個提交推送給原始主服務器。不過,我得到一個錯誤,說我首先需要獲取然後合併,但是我得到這個錯誤後拉。任何想法,將不勝感激。嘗試推送一次提交時發生git錯誤

[email protected] /e/Work/MH (master) 
$ git pull 
remote: Counting objects: 27, done. 
remote: Compressing objects: 100% (11/11), done. 
remote: Total 14 (delta 8), reused 0 (delta 0) 
Unpacking objects: 100% (14/14), done. 
From file:///V:\ 
    930430f..3a55dca master  -> origin/master 
Auto-merging project/src/main/java/com/company/project/outgoing/HttpsCallService.java 
Merge made by the 'recursive' strategy. 
.../java/com/company/project/auth/BcagHmacGenerator.java | 2 +- 
.../com/company/project/outgoing/HttpsCallService.java | 16 ++-------------- 
deployLocal.sh           | 2 +- 
3 files changed, 4 insertions(+), 16 deletions(-) 

[email protected] /e/Work/MH (master) 
$ git push origin 72ba712:master 
To file:///V:\ 
! [rejected]  72ba712 -> master (non-fast-forward) 
error: failed to push some refs to 'file:///V:\' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 
hint: before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

這裏提交的名單,而不是72ba712位置:

[email protected] /e/Work/MH (master) 
$ git lol 
* eec2ab2 (HEAD, master) Merge branch 'master' of file:///V:\ 
|\ 
| * 3a55dca (origin/master) <comments> 
* | 72ba712 <comments> 
* | bc55eb5 <comments> 
* | c2aa448 Merge branch 'master' of file:///V:\ 
|\ \ 
| |/ 
| * 930430f <comments> 
* | fc7a55b <comments> 
* | fd401a5 <comments> 
+0

你肯定沒人推你'git的pull'和你之間的新承諾'git push'?如果存儲庫中有很多活動,這確實可能發生。 –

+0

是的,它只是我們中的兩個,而其他傢伙的電腦都是原產地。他坐在我旁邊,並沒有改變,因爲拉。 – user2569831

+0

您不只是推單提交,特別是當它們不在分支的頂端時。您推送一個或多個包含要推送的提交的分支。 – twalberg

回答

0

這是不是一個錯誤,你是提前就master自己的提交。爲了確保你實際上是最新的,運行拉如下:

git fetch origin 
#then.... 
git pull origin master 

這將確保您從正確的地方拉,那麼你就可以把你提交的變化遵循(再次是明確讓git的知道要去哪裏):

git push origin master 

你的錯誤可能源於你的語法是未來,有可能你有git的一些配置了什麼這是讓你現在拉git pull曖昧與git的方式。

+0

當然,去吧,但我不明白你如何連接起源可能是時間敏感的。 – usumoio

+0

感謝您的意見,不幸的是我明天只能連接到原點。但我還有一個簡單的問題。如果我做了以下事情,它只會推動提交中的更改,還是會推動導致該提交的所有更改? 'git push origin 72ba712:master' – user2569831

0

你試圖用散列值72ba712推送到遠程主分支,但是這並不起作用,顯然,沒有合併,你已經做了什麼。現在,在合併後,你不得不推合併提交:

git push origin eec2ab2:master 

,或者更簡單:

git push origin HEAD:master