2013-07-10 57 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