当前位置:  开发笔记 > 运维 > 正文

如何在GitHub上合并远程更改?

如何解决《如何在GitHub上合并远程更改?》经验,为你挑选了5个好方法。

我正在尝试跟随错误,尝试第一次Github推送:

[rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@github.com:me/me.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'non-fast forward'
section of 'git push --help' for details.

我该如何解决此问题并合并远程更改?



1> Thilo..:

有关详细信息,请参阅" git push --help " 的"非快进"部分.

你可以执行"git pull",解决潜在的冲突,并"git push"结果."git pull"将在提交A和B之间创建合并提交C.

或者,您可以使用"git pull --rebase"在A之上重新定义X和B之间的更改,然后将结果推回.rebase将创建一个新的提交D,它在A之上构建X和B之间的变化.


@Patrick @larson我有一个类似的问题,因为我没有仔细阅读错误信息.拒绝是在我没有检查过的分支上.我实际上的分支是成功的.解决方案是`git checkout other-branch; git pull; git push; git checkout branch-i-was-working-on`.
我一直在讨论这个问题,但如果我做了"git pull",我会被告知"已经是最新的".如果我做了一个"git pull --rebase",我会被告知"当前的分支大师是最新的." 有任何想法吗?谢谢!
@ larson4我遇到了同样的问题,但在你执行`git pull`之后,再做一次提交然后它应该是好的

2> SammyK..:

您还可以通过在分支名称前添加+符号来强制推送.

git push origin +some_branch



3> Jorge Israel..:

您可能在github上有从未合并过的更改.尝试git pull获取并合并更改,然后您应该能够推送.对不起,如果我误解了你的问题.


如果您需要拒绝远程主服务器中的更改并推送自己的更改,请尝试使用-f键进行推送

4> David Calhou..:

如果"混帐拉",它说"已经跟上时代的.",并且仍收到此错误,这可能是因为你的其他分支之一,是不是最新的.尝试切换到另一个分支并确保其中一个也是最新的,然后再尝试"git push":

切换到分支"foo"并更新它:

$ git checkout foo
$ git pull

您可以通过发出命令查看您获得的分支:

$ git branch



5> JuLy..:

你可以强迫它推动,但是只有当你非常确定你在做什么时,请这样做.

命令是:

git push -f 

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有