0

我正在尝试将一个提交推送到 origin master。但是我收到一个错误,说我首先需要获取然后合并,但是在拉取后我得到了这个错误。任何想法,将不胜感激。

Richard@RICHARD-PC /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(-)

Richard@RICHARD-PC /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 的位置:

Richard@RICHARD-PC /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>
4

2 回答 2

0

这不是错误,您在master. 为确保您实际上是最新的,请按以下方式运行您的拉取操作:

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

这将确保您从正确的位置拉动,然后您可以按如下方式推送您提交的更改(再次明确以便 git 知道发生了什么):

git push origin master

您的错误可能来自您的语法,您可能在某些方面配置了 git,这使得您现在git pull对 git 的拉取方式模棱两可。

于 2013-07-10T19:13:52.303 回答
0

您正在尝试将带有哈希值的提交推72ba712送到远程 master 分支,但显然,如果没有合并,您已经做了什么,这是行不通的。现在,在合并之后,您必须推送合并提交:

git push origin eec2ab2:master

或者,更简单:

git push origin HEAD:master
于 2013-07-10T19:50:14.573 回答