Git - 如何使用我的本地内容完全覆盖远程内容?

时间:2015-10-17 10:23:42

标签: git github push

我在本地计算机上安装了相同的Git存储库,我想将我的更改添加到远程存储库。

我的本​​地存储库是最新的存储库,我想覆盖所有远程内容,就好像我只是将文件复制到文件夹中一样。

我已将带有USB记忆棒的文件带到我的本地计算机上,而本地计算机上的所有内容都是正确的。

我收到以下错误消息。

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.happyme.at:happymen.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.

如何将文件提交到此存储库?我想覆盖那里的所有内容!并将所有内容作为一个包含内容的文件夹提交。

有人可以帮忙解释一下这些步骤吗?

2 个答案:

答案 0 :(得分:1)

你可以强制推送

git push -f 

请注意,这很危险。消息

the tip of your current branch is behind its remote counterpart

表示遥控器上有一些您没有的提交。如果你强行推动,你可以完全消除这些变化。如果你知道这一点,那就合适了。

通常此消息表示您需要执行

git pull

然后解决所有合并冲突并添加并提交这些更改

您也可以执行git抓取,以查看从远程到本地远程副本的更改,例如:来源(不是您的本地文件),然后您可以执行git mergegit pull,然后解决并推送。 然后你推(而不是强迫)到遥控器。

另见https://stackoverflow.com/a/14464190/631619

答案 1 :(得分:0)

一个简单的步骤是删除当前的主分支并使用您的最新代码重新创建它。您也可以备份当前的主人,以备将其作为参考。

git push origin --delete master

然后创建一个主分支并推送新代码。