我似乎做错了什么:
$ git add .
$ git status
On branch master
nothing to commit, working directory clean
$ git commit -m 'Task #2 after accepting'
On branch master
nothing to commit, working directory clean
$ git push origin master
To https://my_repository@bitbucket.org/my_repository/bla.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://my_repository@bitbucket.org/my_repository/bla.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
我不知道如何让GIT像以前那样工作,我不记得了,除了在其他文件夹中移动本地存储库之外,我用git本地目录做了一些事情。
答案 0 :(得分:2)
错误消息是“遥控器包含您所做的工作 提示:没有本地“。为了推动你的提交,你应该首先将它与项目的其余部分集成。
首先,在完成提交后创建一个新的本地分支:
git checkout -b task2
然后,结账大师。此时,您必须将当前主分支(旧主机+ 1提交)转换为新主分支(旧主机+远程存储库中的更改)。为此,请从主分支中删除最后一次提交(不要担心,您的更改不会丢失,它们会被task2
分支引用)并拉出新的更改:
git checkout master
git reset --hard HEAD~1
git pull
您的主分支应该看起来像远程主分支。现在,返回到您的task2
分支并将其重新绑定为master,以便将提交放在master中的提交列表之上:
git checkout task2
git rebase master
(解决冲突,如果有的话,添加文件并输入git rebase --continue)
现在,您的task2
分支包含您的提交以及远程服务器中的所有提交。您现在可以再次将更改恢复为master,并推送您的提交:
git checkout master
git merge task2
git push origin master
答案 1 :(得分:1)
您可以强制推送到您的存储库。尝试使用此命令
git push -f origin master