Git,从本地分支(我的电脑)更新远程分支(bitbucket存储库)

时间:2019-07-18 06:57:35

标签: git github bitbucket

我想更新未跟踪的存储库,并且在本地对文件进行了更改。

我所做的是

git fetch

git branch -a-列出所有分支机构

git diff --stat --color master origin/master-这将我的本地与远程进行比较。

然后我做git push,将其输出给我。

更新被拒绝,因为the tip of your branch is behind...

但是我不想从远程存储库中提取更改,因为我在本地进行了一些更改。我想将更改推送到远程存储库。

2 个答案:

答案 0 :(得分:0)

注意:如果您不真正了解自己在做什么,则可能会产生不可逆转的后果。

如果您不希望覆盖远程存储库中的更改,请使用git push -f

答案 1 :(得分:0)

这种情况发生在本地分支和远程分支都发生更改时,并且不允许您将更改推送到远程分支的原因是,如果您将本地更改覆盖到远程更改中,只是推送更改。

解决此问题的一种方法是在git中使用名为rebase的功能。它的作用是在远程分支的顶部重放您的更改,以确保您的分支是最新的,然后在远程分支上进行构建。

您应该能够通过运行以下命令更新本地分支来解决此问题:git pull --rebase。这将拉动远程更改,然后在这些更改之上重播本地更改。

您可以在这里阅读有关git-rebase的更多信息:https://git-scm.com/book/en/v2/Git-Branching-Rebasing

但是,如果您真的想覆盖远程分支,则--force中还有一个git push选项。除非您真的知道自己在做什么,否则我不建议您这样做。有关可用于推送的选项的更多信息,请参见:https://git-scm.com/docs/git-push