1

git flowは、一度に1つのホットフィックスブランチのみを許可します。したがって、入力するのではなく、次のようにします。

git flow hotfix finish hotfix_branch

既存の修正プログラムのブランチ名のみを使用するエイリアスを作成したいと思います。次の擬似コードのようなもの:

[alias]
  fix-done = flow hotfix finish `git_fetch_branch_beginning_with_hotfix`

誰か助けてもらえますか?ありがとう。

更新:私はzshを使用しています。

4

3 に答える 3

1

git flow hotfix finish エイリアスを実行する別の方法を次に示します。

hf = "!_() { b=$(git rev-parse --abbrev-ref HEAD) && git co master && git pl && git co develop && git pl && git co $b && git rebase master && h=$(echo $b | sed 's/hotfix\\///g') && git flow hotfix finish -m 'new_tag' $h && git co master && git ps && git co develop && git ps && git ps --tags && git poo $b && git br -D $b;  }; _"
于 2016-02-01T22:50:55.440 に答える
1

この関数は、多かれ少なかれgit-flowのソース コードから抽出されたものです。

finish_current_hotfix_branch ()
{
  local hotfix_prefix=$(git config --get gitflow.prefix.hotfix)
  local hotfix_branches=$(echo "$(git branch --no-color | sed 's/^[* ] //')" | grep "^$hotfix_prefix")
  local first_branch=$(echo ${hotfix_branches} | head -n1)
  first_branch=${first_branch#$hotfix_prefix}
  git flow hotfix finish "$first_branch"
}

アップデート

関数全体をエイリアスに配置する必要があるようです。良くありませんが、動作します:

[alias]
  fix-done ="!_() { p=$(git config --get gitflow.prefix.hotfix); b=$(echo \"$(git branch --no-color | sed 's/^[* ] //')\" | grep \"^$p\"); f=$(echo ${b} | head -n1); f=${f#$p}; git flow hotfix finish \"$f\"; }; _"
于 2012-10-30T13:16:21.373 に答える