你的分支落后于2次提交

时间:2015-01-26 14:37:14

标签: git version-control git-merge git-commit

我的主分支叫做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. 

我想把我当前在我的本地计算机上的目前的分支机构当作现实,不要拉下任何东西,而是用我本地的东西覆盖所有内容。

我该怎么做?

3 个答案:

答案 0 :(得分:13)

由于您是唯一一个在分支机构工作的人,因此您可以通过git push --force覆盖远程分支的状态。

虽然你确定你是分支机构中唯一的一个吗?如果你是唯一一个在分支机构工作的人,那么只有你的提交会在遥控器上,你就没有必要做git pull

使用共享分支执行git push --force会给您的团队带来更多麻烦。因此,请确保您要通过执行以下操作来删除远程分支上的2个提交:

git checkout origin/feature/218
git log -3

这将显示遥控器上的最后三次提交(你落后的2次,你分享的最后一次)确保它们是你的,并且你想要覆盖最后两次。

答案 1 :(得分:2)

git pull --rebase

我想这会解决问题。

答案 2 :(得分:0)

如果您的分支机构落后于母公司,请执行以下操作:

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 push