2013-01-23 18 views
5

すべてのチケットがマスターのブランチであるgithubで作業フローを試行します。
チケットが完了した後、回帰テストと統合テストが実行されてマスタにマージされる前に、作業がステージングにマージされます。マージ後のgitブランチをマスターに自動的に削除

マージが始まると、チームリードが古いチケットブランチの問題を引き起こしました。

私はthisスクリプトを見つけました。これが私たちの環境で動作するかどうかを知りたいと思っています。マスターにマージされたブランチだけを削除したいだけです。

+0

GitHubには、投稿されたブランチにマージされた[ブランチを削除するためのボタン](https://github.com/blog/1335-tidying-up-after-pull-requests)がありますが、あなたにはあまり役立たない。 –

+0

さて、私たちはそのプロセスを自動化したいと思っています。リンクはシェルで行う方法を示していますが、githubシェルにアクセスできないので、chronjobする方法はありませんafaik –

+0

実際にあなたは[git hooks]を探しています(http://git-scm.com/book/en/Customizing-Git-Git-Hooks)、より具体的には 'post-merge'フックです。それが事実なら、それはうまくいかないでしょう、私は恐れています。 –

答えて

4

私の知る限り、あなたのユースケース用のすぐに使えるスクリプトはありません。そのために独自のツールを作成する必要があります。

"A successful Git branching model"で説明したgitワークフローに従って開発者を支援するために作成された、Vincent Driessenのツールgit-flowがあります。

マージ競合に遭遇するかどうかわからないので、マージ後にブランチを削除するだけでは簡単ではありません。

+0

私が追加したリンクはすぐに使えるスクリプトですが、私はgithubで使うことはできません。 –

+0

GitHubはそれとは関係ありません。これはあなたのリポジトリをホストするサービスです(さらにもう少し)。 –

+1

ハブフロー(http://datasift.github.com/gitflow/)はgitflowから適応され、素晴らしい動作をします。 –

2

.gitconfigファイルに次のいずれかを追加して、1つのコマンドでブランチをマージして削除する簡単なエイリアスを作成します。機能として

別名:新しいシェルコマンドとして

[alias] 
    ff = "!f() { git merge $1; git branch -d $1; }; f" 

別名:

[alias] 
    ff = !sh -c 'git merge $1 && git branch -d $1' -- 

はどちらもまったく同じこと、それを行うのわずか2種類の方法を実行します。

関連する問題