我有一个名为218的主分支。
我是唯一一个使用这个分支的人。
我在3周前提交了我的更改,希望做一个拉取请求,但它被拒绝了,因为我需要进行更改。
现在我已经做了这些更改,并且我想将最新的更改提交到我的分支。
我试图提交,但它告诉我需要合并和拉动。于是我就这么做了,它弄乱了我所有的文件,并让我在过去3周内所做的修改付之东流。
我撤销了这一点:git reset --hard HEAD~1
现在,在我电脑上的存储库中,所有的文件都是它们应该的样子。但当我执行git状态时,我的更改不会显示,它会显示:
Your branch is behind 'origin/feature/218' by 2 commits, and can be fast forwarded. nothing to commit, working directory clean. 我希望将我在本地计算机上的存储库中的分支设置为当前的状态,而不是删除任何内容,而是使用本地的内容覆盖所有内容。
我该怎么做呢?
发布于 2015-01-26 23:08:24
因为您是唯一一个在分支上工作的人,所以您可以通过执行git push --force来覆盖远程分支的状态。
但是,您确定您是分支上唯一的一个吗?如果你是唯一一个在分支上工作的人,那么只有你的提交会在远程上,你就不需要做git pull了。
使用共享分支进行git push --force会给您的团队带来更多麻烦。因此,通过执行以下操作,确保您想要删除远程分支上的2个提交:
git checkout origin/feature/218
git log -3这将显示遥控器上的最后三个提交(您落后的两个和您共享的最后一个),确保它们是您的,并且您希望覆盖最后的两个。
发布于 2016-06-27 17:47:33
git pull --rebase我想这会解决这个问题。
发布于 2019-07-26 05:18:50
如果您的分支机构落后于主分支机构,请执行以下操作:
git checkout master (you are switching your branch to master)
git pull
git checkout yourBranch (switch back to your branch)
git merge master合并后,检查是否存在冲突。
如果没有冲突,则:
git push如果存在冲突,则修复您的文件,然后:
git add yourFile(s)
git commit -m 'updating my branch'
git pushhttps://stackoverflow.com/questions/28152210
复制相似问题