首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bitbucket根据上一次提交重新建立分支的基础

bitbucket根据上一次提交重新建立分支的基础
EN

Stack Overflow用户
提问于 2017-07-08 19:15:43
回答 1查看 3.5K关注 0票数 1

我正在使用源码树的bitbucket。我想将我的远程分支重新定位到以前的提交。

我在本地做了一些与远程合并的更改。遥控器处于非工作状态。我想做一个简单的操作来返回到以前的状态。如果我在远程分支上重新建立基础,我的本地版本就可以运行了,但是远程版本仍然处于错误的状态。如果我试着推它,它会拒绝,因为Updates were rejected because the tip of your current branch is behind

我无法反向提交,因为发生了合并。我也不能强行按下,因为按钮被禁用了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-08 19:48:52

首先,备份您的存储库:

将其复制并保存到某个位置。

第二,检查您的远程分支:

代码语言:javascript
复制
git checkout -b mybranch origin/mybranch -u

如果要恢复到以前的状态,您有三种选择:

代码语言:javascript
复制
 1. Revert - git revert <previous_commit>
 2. Rebase - git rebase -i <previous_commit>
 3. Reset - git reset <previous_commit>

选项1是最安全的,因为它创建了一个恢复当前提交的新提交。

选项2通过从上一次提交开始交互式地重新建立提交的基址来重写历史。您可以有选择地选择哪些提交是新历史的一部分。

选项3还通过强制分支头部指向以前的提交来重写历史(就像未来的提交没有发生一样)。如果您已签出文件,则可能需要使用--hard选项运行此命令(注意不要丢失您的工作!)

由于选项2和选项3会重写历史,因此您应该注意将更改通知给您的团队。他们将需要强制获取最新的分支(或者只是从源重新克隆存储库)。完成更改并感到满意后,将更改推送到远程分支:

代码语言:javascript
复制
git push origin mybranch --force

或者简单地说

代码语言:javascript
复制
git push --force

因为已经设置了上游分支。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44985592

复制
相关文章

相似问题

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