git拒绝推送非快进

git拒绝推送非快进,git,bitbucket,git-commit,Git,Bitbucket,Git Commit,我是git的新手,在过去的两个月里,我一直在做一个小的辅助项目,并且一直在毫无问题地把东西推到bitbucket上。几天前,我压缩了我的项目文件夹(因为我必须重新安装Linux操作系统),现在在重新安装Linux操作系统后将其解压缩 所以,现在,我去了我的项目文件夹,继续快乐地工作,最后做了: git add -A && git commit -m "modified code" && git push origin master …这是我通常做的 我得到: T

我是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:我在主分支机构,这是我回购协议中唯一的分支机构

如果有人能给我指出正确的方向,我将不胜感激


谢谢。

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

解决任何冲突。那就做吧

或者,如果您在本地没有任何有价值的修改,您可以创建回购协议的新克隆,并从那里开始工作:

git clone https://johnsproject@bitbucket.org/johnsproject/proj.git new_repo_dir
试着做

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

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

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

对我有效
git push--set-upstream-origin-master-f
在我的情况下,没有添加来自git存储库的新文件,这就是解决方案 1.git状态(仅用于检查) 2.git添加。
3.git push-u master origin

在studio中提交git之后,以及git push origin分支名称之后,您可以尝试git pull。

我遇到了完全相同的问题。在我尝试之前,没有任何帮助:

git pull--重新设置原点主控形状

之后,运行push命令,即

git-push-u源主机


为我解决

合并远程更改(例如“git pull”)提示:再次按下之前。
您是否尝试过拉动?我尝试过此操作,但我得到了“*分支主控->获取头更新74f5f2e..06e5112错误:您对以下文件的本地更改将被合并覆盖:请,提交更改或在合并之前将其隐藏。`ok)然后提交更改并再次运行
git pull
git pull当我执行git pull时,我似乎得到了`*分支主控->获取头更新74f5f2e..06e5112错误:您对以下文件的本地更改将被合并覆盖:请,在合并之前提交更改或将其隐藏。`@JohnJ好的,按照建议操作。首先提交您的本地修改。然后,
git拉取
并解决任何冲突。尝试使用egit进行此操作有点像噩梦,但实际上Eclipse的git同步屏幕一直显示过时的合并冲突。我不得不停下来重新开始,突然我的问题解决了。FWIW。关于此解决方案,如果您有任何未在本地提取的新文件,此过程将删除这些文件。如果您不确定正在推送什么,则这不是一个好的解决方案。虽然这样做有效,但对于git新手来说,了解执行这些命令时发生的情况可能会很有用。您可以通过解释问题是什么(请参阅)、
git pull
如何解决问题(请参阅)以及为什么选择添加额外的
--rebase
标志来改进答案。
git clone https://johnsproject@bitbucket.org/johnsproject/proj.git new_repo_dir
git pull origin master
git add -A
git commit -m "modified code"
git push origin master