不能推或拉Git

时间:2015-11-18 00:39:53

标签: git atlassian-sourcetree bitbucket-server

我是使用Git的新手,但我确实理解了基础知识。但是,我还没有遇到过推/拉冲突的情况......直到现在。

另外,我应该指出,我用来与Git存储库交互的GUI工具是Atlassian SourceTree(我们使用Atlassian Stash来管理我们的存储库)。

以下是该方案:

我有2次提交Push,显然我需要Pull进行4次更改。

当我尝试Pull时,我得到了这个:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin

git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
You have not concluded your merge (MERGE_HEAD exists).

Please, commit your changes before you can merge.

Completed with errors, see above.

它说我需要完成合并,但它不允许我做任何事情。我没有得到合并列表,也没有自动合并。我似乎无法通过合并,因此我可以继续解决Push/Pull冲突。

当我尝试Push时,我得到了这个:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master
Pushing to http://XXXXXX@XXXXXXXX.XXXX.XXXX:XXXX/XXXX/XXXX/XXXXX.git
To http://XXXXXX@XXXXXXXX.XXXX.XXXX:XXXX/XXXX/XXXX/XXXXX.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'http://XXXXXX@XXXXXXXX.XXXX.XXXX:XXXX/XXXX/XXXX/XXXXX.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

现在我怎么解决这个问题?!我是否需要Rebase或类似的东西?

我正在阅读Fast Forward Push,但我不知道如何在这个工具中做到这一点。如果必须,我当然可以从终端执行Git命令。我只是不想在没有咨询有更好理解Git和这些类型问题的人的情况下跳进去。

2 个答案:

答案 0 :(得分:6)

看起来你正处于合并的中间(也许是以前的尝试?)

git merge --abort将取消该合并,并使您处于可以重试拉动然后解决冲突的状态。

答案 1 :(得分:1)

完成合并。 git status会告诉你什么是闲逛。对于每一个,您需要编辑以修复冲突并执行git add。然后是git commit。然后拉,然后推。