git拒绝推送非快进

时间:2013-06-03 14:33:26

标签: git bitbucket git-commit

我对git很新,而且我在过去的两个月里一直致力于一个小型项目,并且已经把东西推到了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 - 但我不确定我是否应该这样做。

p.s:我在主分支上 - 这是我的仓库中的only分支。

如果有人能指出我在正确的方向,我真的很感激。

感谢。

7 个答案:

答案 0 :(得分:22)

在推送之前,您必须先拉出中央存储库中的更改。 做

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

答案 1 :(得分:10)

尝试

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

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

答案 2 :(得分:6)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

在我的情况下,

是未添加git存储库中的新文件,这就是解决方案 1. git状态(只是检查) 2. git添加。 3. git push -u主站来源

答案 5 :(得分:0)

您可以在git commit在studio中之后以及git push原始分支名称之后尝试git pull。

答案 6 :(得分:0)

我有完全相同的问题。直到我尝试了一下,一切都没有帮助:

git pull --rebase原始主机

然后,运行推送命令,即

git push -u原始主机

为我解决!!