我具有以下结构,并希望遵循“ gitflow”。
develop
feature/101-my-new-feature
* master
问题:为了使分支功能具有将开发分支作为父级,在创建所有功能之前,我是否需要签出开发分支?合并功能时,我希望将它们合并到开发分支。
答案 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