我对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
分支。
如果有人能指出我在正确的方向,我真的很感激。
感谢。
答案 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原始主机
为我解决!!