首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git -重新定位到师父身上,什么也不做

Git -重新定位到师父身上,什么也不做
EN

Stack Overflow用户
提问于 2017-05-22 13:50:02
回答 2查看 3.7K关注 0票数 3

我创建了一个实验分支。我已经决定了这是我想要走的方向,所以我想把改变交给主人。

我不想合并,我更喜欢重基,因为这听起来正是我想要的(就像我一直在使用主人)。

看一下文档,看起来很简单(这是来自文档的指令):

但是,还有另一种方法:您可以使用C4中引入的更改修补程序,并在C3之上重新应用它。在Git中,这被称为重基。使用rebase命令,您可以接受在一个分支上提交的所有更改,然后在另一个分支上重放它们。 在本例中,您将运行以下命令: $ git校验实验$ git重基主,回绕头在上面重放你的工作.应用:添加分阶段命令

在我的例子中,“实验”是已经签出的分支“非规范化”(来自我的控制台的输出):

代码语言:javascript
复制
$ git status
On branch denormalized
Your branch is up-to-date with 'origin/denormalized'.
nothing to commit, working tree clean

现在,我叫git rebase master

代码语言:javascript
复制
$ git rebase master
Current branch denormalized is up to date.

好吧,根据文件,这不是我所期望的。这两个分支似乎也没有任何变化:

大师仍然是重新基地之前的样子。我能查出来什么都没变。

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-22 13:52:59

要将这些更改输入主人,您需要做的是:

代码语言:javascript
复制
git checkout master
git merge denormalized

合并将把这些更改拖到分支中。

重基所做的事情,它链上那些提交的头,但仍然在你的另一个裁判。

合并之后,您应该在masterdenormalized的头上都有-Refactored the generator...

它向您展示了在图37中正确执行此操作。

票数 5
EN

Stack Overflow用户

发布于 2017-05-22 14:10:51

虽然马特·克拉克的回答对你目前的情况是正确的,但我认为这还不清楚;所以我要补充以下几点:

您发出的rebase命令是正确的,但它并没有完全按照您的想法执行。如果你有

代码语言:javascript
复制
A --- B --- C <--(masteR)
       \
        D --- E <--(branch)

(因此,master已经从branch的分支点开始前进了),并且您希望将branch合并到master中,而不需要合并提交,那么重基将是第一步。

代码语言:javascript
复制
git checkout branch
git rebase master

(或简称git rebase master branch)。这给了我们

代码语言:javascript
复制
A --- B --- C <--(masteR)
             \
              D' --- E' <--(branch)

现在可以进行快速前向合并(将branch合并到master中而不需要合并提交),而以前并非如此。若要导致快速转发,您可以

代码语言:javascript
复制
git checkout master
git merge branch

(这将进行快速转发,因为它可以),或者仍然在branch上。

代码语言:javascript
复制
git branch -f master

这只是迫使master分支移动到您所在的位置(通常是一个更危险的命令,但在这里具有相同的效果)。

在您的例子中,因为分支已经根植于master的顶端,所以重基是不必要的,您可以直接移动到ff合并。

请注意,如果您与其他开发人员共享分支(例如通过远程存储库),并且他们可能正在使用分支(例如,因为您已经推动了分支),那么您应该小心地重新设置分支(也就是说,您需要与其他开发人员协调才能这样做)。参见git重基文档中的“从上游重基恢复”。https://git-scm.com/docs/git-rebase

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

https://stackoverflow.com/questions/44114627

复制
相关文章

相似问题

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