未能推出一些参考? #!合并远程

时间:2014-07-17 03:04:46

标签: git github version-control

我有以下内容,只是想知道处理这个问题的最佳方法是什么:我编辑了一些文件并试图检查新的更改。远程回购也已被其他人更新。

]$ git push
To git@mygitaccount.org:some_project
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'g git@mygitaccount.org...some_project'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

然后收到了这条消息:

Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
P.S:我按照建议做了git pull然后git push,但仍然得到相同的消息。

1 个答案:

答案 0 :(得分:2)

正如您所猜测的那样,您无法推送,因为其他人已经推了,您必须先检索他们的更改。

第二条消息是由于这些更改与您的本地更改相冲突。要了解哪些文件存在冲突,您可以运行git status

解决所有冲突后,您可以按照消息git commit -a中的说明运行,以创建一个您可以推送的合并提交。

更一般地说,您可以将pull替换为fetch后跟merge。优点是,fetch之后您可以运行gitk --all来轻松查看您刚刚检索到的内容,从而决定您希望如何处理它。