Git功能分支将开发分支作为父级

时间:2020-10-26 07:19:53

标签: git

我具有以下结构,并希望遵循“ gitflow”。

  develop
  feature/101-my-new-feature
* master

问题:为了使分支功能具有将开发分支作为父级,在创建所有功能之前,我是否需要签出开发分支?合并功能时,我希望将它们合并到开发分支。

2 个答案:

答案 0 :(得分:1)

是的,如果您希望在功能完成后重新合并到develop,则必须从中进行结帐(从Git本身的角度来看,这并不是绝对必要的,而是gitflow ,这样会更容易)。

一种简单的方法:

develop (v1.0)
  |
  |--> feature-1
         |
         | changes
         |
  |<-- feature-1
  |
  |
develop (v1.1)

答案 1 :(得分:1)

Function Get-DefaultParameterValuesHC { Param ( [Parameter(Mandatory)]$Path ) $ast = (Get-Command $Path).ScriptBlock.Ast $selectParams = @{ Property = @{ Name = 'Name'; Expression = { $_.Name.VariablePath.UserPath } }, @{ Name = 'Value'; Expression = { if ($_.DefaultValue.StaticType.BaseType.Name -eq 'Array') { $_.DefaultValue.SubExpression.Extent.Text -split ',' | ForEach-Object { $_.trim() -replace "`"|'" } } else { $_.DefaultValue.Extent.Text -replace "`"|'" } } } } $result = @{ } $defaultValueParameters = @($ast.FindAll( { $args[0] -is [System.Management.Automation.Language.ParameterAst] } , $true) | Where-Object { $_.DefaultValue } | Select-Object @selectParams) foreach ($d in $defaultValueParameters) { $result[$d.Name] = foreach ($value in $d.Value) { $ExecutionContext.InvokeCommand.ExpandString($value) } } $result } 创建功能分支的一种非常典型的方法是使用git checkout -b,正如fredrik在评论中所暗示的。

develop

其中第一个参数是要创建的分支的名称,第二个参数是新分支应从其开始的点(此处:git checkout -b <name-your-feature-branch-here> develop

但是由于第二个参数可以省略并且默认为当前已检出的提交/分支,如果您选中了develop ,则可以简单地

develop

还要注意,以上是创建检出新分支的命令。但是您可以很好地创建而无需使用

git checkout -b <name-your-feature-branch-here>

最后,如果您只是从错误的分支中创建了新分支,该怎么办? (假设您错误地认为自己在# from develop branch git branch <name-your-feature-branch-here> # or from anywhere git branch <name-your-feature-branch-here> develop 上并使用了简短版本)只需将分支重置为develop,因为您尚未提交它:

develop