2016-10-06 7 views
2

フィーチャブランチをマスターにマージした後で削除します。時には、もはや存在しない歴史的なブランチからのすべてのコミットからなるパッチを生成する必要があります。ブランチ名のみを使用して、履歴ブランチからすべてのコミットで構成されるパッチを生成する

プロセスを簡略化するために、このようなパッチを生成するスクリプトを提供したいと思います。入力として歴史的なブランチ名のみを必要とします。

(支店名を簡単にバグ追跡システムから取得することができます)gitの中

答えて

1

ブランチのコミットを指して、単にファイル内のテキストの行です。ブランチを削除するときには、ブランチを外に出す履歴はありません。以前にリリースされたコードからパッチを作成する必要があるときに分岐することができるタグのリストをブラウズすることができるように、それらをマージする直前にリリースブランチの終わりにタグを付けることをお勧めします。

git tag -a 1.1 -m "Release 1.1" 
git merge release/1.1 
git branch -d release/1.1 

その後、あなたはタグからブランチを作成するgit tag以降git branch hotfix/1.2 1.1とタグを一覧表示することができます。

これを実行したくない場合は、次のコマンドを使用してヒストリ内のすべてのマージコミットを一覧表示できます。通常、マージされたブランチ名が含まれます。その後、リリースブランチの最後のコミットとなるマージコミットの2番目の親に行くことができます。

git log --oneline --merges --grep="<branch name>" 
git show --pretty=raw <commitId> 
git branch hotfix/1.1 <commitId>^2 

これらのコマンドを組み合わせて、あなたが求めているものを得ることができますが、このようにタグを使用することを強くお勧めします。

関連する問題