首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您的分支落后2个提交

您的分支落后2个提交
EN

Stack Overflow用户
提问于 2015-01-26 22:37:14
回答 3查看 50.2K关注 0票数 10

我有一个名为218的主分支。

我是唯一一个使用这个分支的人。

我在3周前提交了我的更改,希望做一个拉取请求,但它被拒绝了,因为我需要进行更改。

现在我已经做了这些更改,并且我想将最新的更改提交到我的分支。

我试图提交,但它告诉我需要合并和拉动。于是我就这么做了,它弄乱了我所有的文件,并让我在过去3周内所做的修改付之东流。

我撤销了这一点:git reset --hard HEAD~1

现在,在我电脑上的存储库中,所有的文件都是它们应该的样子。但当我执行git状态时,我的更改不会显示,它会显示:

代码语言:javascript
复制
Your branch is behind 'origin/feature/218' by 2 commits, and can be fast forwarded. nothing to commit, working directory clean. 

我希望将我在本地计算机上的存储库中的分支设置为当前的状态,而不是删除任何内容,而是使用本地的内容覆盖所有内容。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-26 23:08:24

因为您是唯一一个在分支上工作的人,所以您可以通过执行git push --force来覆盖远程分支的状态。

但是,您确定您是分支上唯一的一个吗?如果你是唯一一个在分支上工作的人,那么只有你的提交会在远程上,你就不需要做git pull了。

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

代码语言:javascript
复制
git checkout origin/feature/218
git log -3

这将显示遥控器上的最后三个提交(您落后的两个和您共享的最后一个),确保它们是您的,并且您希望覆盖最后的两个。

票数 19
EN

Stack Overflow用户

发布于 2016-06-27 17:47:33

代码语言:javascript
复制
git pull --rebase

我想这会解决这个问题。

票数 4
EN

Stack Overflow用户

发布于 2019-07-26 05:18:50

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

代码语言:javascript
复制
git checkout master (you are switching your branch to master)
git pull 
git checkout yourBranch (switch back to your branch)
git merge master

合并后,检查是否存在冲突。

如果没有冲突,则:

代码语言:javascript
复制
git push

如果存在冲突,则修复您的文件,然后:

代码语言:javascript
复制
git add yourFile(s)
git commit -m 'updating my branch'
git push
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28152210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档