将父分支更改为功能分支

时间:2019-10-01 21:57:41

标签: git git-rebase feature-branch

我正在使用这种结构的功能分支:

a -- b -- c -- d           <-- master
     \     \
      \     e -- f         <-- feature
       \
        g                  <-- new_parent

但是我需要以这种方式切换分支机构:

a -- b -- c -- d           <-- master
      \
       g                   <-- new_parent
        \
         e -- f            <-- feature

请注意,我的feature分支来自master之前的{strong> 的new_parent,因为我是根据master和{{1} }将在new_parent分支中完成所有工作之后,将}重新建立为master的基础,并重新基于feature进行构建。

我对git不太熟悉,我也不想弄乱我的仓库,我读了new_parent命令,但是我不确定下面的命令是否可以执行我尝试的操作要做。

git rebase onto

2 个答案:

答案 0 :(得分:2)

您想要git rebase --onto new_parent master feature

man页面上的命令格式:

git rebase [--onto <newbase>] [<upstream> [<branch>]]

new_parentnewbase,即您要将更改应用到的点。

masterupstream,即您当前开始更改的位置。

feature显然是branch,即可以在其中找到更改的分支。

答案 1 :(得分:0)

足够简单:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  cityForm: FormGroup;

  constructor(public navCtrl: NavController, private formBuilder: FormBuilder) {

    this.cityForm = this.formBuilder.group({
            cityname: ['', Validators.compose([Validators.pattern('^[a-zA-Z0-9\-\_]{3,20}$'), Validators.required])]
          });

  }

}

大致翻译为:在g之上重新建立功能分支,丢弃所有属于master的修订。