社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

John • 6 年前 • 1823 次点击  

我遇到以下错误,为什么要尝试第一次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.

如何修复此问题并合并远程更改?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30762
 
1823 次点击  
文章 [ 7 ]  |  最新文章 6 年前
IgorGanapolsky
Reply   •   1 楼
IgorGanapolsky    12 年前

当我遇到这个错误时,我备份了整个项目文件夹。然后我做了类似的事

$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master

…取决于您的分支名称(如果不是主分支)。

然后我做到了 git pull --rebase . 之后,我用备份项目的文件替换了提取的文件。现在我准备再次提交我的更改并进行推送。

Zds
Reply   •   2 楼
Zds    13 年前

当您有冲突的标记时,也可能发生此问题。如果本地版本和远程版本对不同的提交使用相同的标记名,则可以在这里结束。

您可以通过删除本地标记来解决:

$ git tag --delete foo_tag
JuLy
Reply   •   3 楼
JuLy    9 年前

你可以强迫它去推,但只有当你非常确定自己在做什么的时候才能这样做。

命令是:

git push -f 
mikera
Reply   •   4 楼
mikera    13 年前

如果你“git pull”,它说“已经是最新的”,并且仍然得到这个错误,那可能是因为你的其他分支中有一个不是最新的。在再次尝试“git push”之前,请尝试切换到另一个分支并确保该分支也是最新的:

切换到分支“foo”并更新:

$ git checkout foo
$ git pull

您可以通过发出命令来查看您拥有的分支:

$ git branch
Jorge Israel Peña
Reply   •   5 楼
Jorge Israel Peña    15 年前

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

SammyK
Reply   •   6 楼
SammyK    13 年前

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

git push origin +some_branch
Thilo
Reply   •   7 楼
Thilo    13 年前

参见“非快进”部分 git push --help 详情请见。

您可以执行“git pull”,解决潜在的冲突,以及“git push”结果。“git pull”将在提交A和B之间创建合并提交C。

或者,您可以使用“git pull--rebase”在a顶部的x和b之间重新设置更改的基址,并将结果向后推。REBASE将创建一个新的commit d,它在a的顶部构建x和b之间的更改。