16

我对 git 很陌生,在过去的 2 个月里,我一直在做一个小型的副项目,并且一直在毫无问题地将东西推送到 bitbucket 上。几天前,我压缩了我的项目文件夹(因为我必须重新安装我的 Linux 操作系统),现在我在重新安装 Linux 操作系统后解压缩了它。

所以,现在,我去了我的项目文件夹,继续愉快地工作,终于做到了:

git add -A && git commit -m "modified code" && git push origin master

..这是我通常做的..

我得到:

To https://johnsproject@bitbucket.org/johnsproject/proj.git
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://johnsproject@bitbucket.org/johnsproject/proj.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我看过一些 SO 问题,他们建议使用强制标志-f- 但我不确定我是否应该这样做。

ps:我在 master 分支上——这是only我的 repo 上的分支。

如果有人能在这里指出我正确的方向,我将不胜感激。

谢谢。

4

8 回答 8

24

中央存储库中有一些更改,您必须先拉取,然后才能推送。做

git add -A
git commit -m "my local changes" 
git pull

解决任何冲突。然后

git push

或者,如果您在本地没有有价值的修改,您可以创建一个新的 repo 克隆,然后从那里开始工作:

git clone https://johnsproject@bitbucket.org/johnsproject/proj.git new_repo_dir
于 2013-06-03T14:37:26.057 回答
11

尝试做

git pull origin master
git add -A
git commit -m "modified code"
git push origin master

您的本地存储库可能与远程存储库不同步。

于 2013-06-03T14:37:44.010 回答
9

我有同样的问题。我通过使用git push -f强制更新的命令进行了修复。

于 2014-01-14T23:54:53.890 回答
2

为我工作git push --set-upstream origin master -f

于 2019-01-08T02:35:03.453 回答
2

我有同样的问题。在我尝试这个之前没有任何帮助:

git pull --rebase origin master

之后,运行推送命令,即

git push -u 起源大师

为我解决了!!

于 2020-11-04T11:55:41.663 回答
0

在我的情况下,未添加来自 git 存储库的新文件,这就是解决方案 1. git status (只是为了检查) 2. git add 。3. git push -u master origin

于 2019-02-05T21:36:45.473 回答
0

您可以在工作室中的 git commit 之后以及 git push origin 分支名称之后尝试 git pull。

于 2019-02-08T18:56:39.910 回答
0

有时,您的分支中也可能有机会,假设您正在这个分支中名为“X”的其他分支工作 2 或更多人或工作。如果你从 master 拉取然后推送到这个“x”分支,将通过这个错误。您需要再次从“X”分支拉出并推送到“X”分支。

于 2021-12-08T02:41:25.340 回答