2012-02-16 5 views
5

this articleに記載されているように、Gitのワークフローはかなり一般的です。 ビルドサーバーでのビルドプランを,マスター最後のリリースに作成したいと考えています。問題は、最後のリリースブランチには時間の異なる名前が付いていることです(* release - **)。Gitの最後のリリースのエイリアスブランチ

この問題を解決する方法は何ですか?ビルドサーバで使用できる永久的な名前の最後のリリースというエイリアスを作成することはできますか?他に何か?

答えて

1

git symbolic-refコマンドを使用して、他のリファレンスを指すリファレンスを作成することは可能です。

しかし、これは必ずしも意図した動作ではありません。What's the recommended usage of a Git symbolic reference?

あなたの他のオプションは、最新のrelease-支店であなたのマスターのGitリポジトリポイントのHEADを持って、その後、ビルドサーバーのビルドHEADdevelopを持っているかもしれませんおよびmaster

3番目のオプションは、単にrelease-latestブランチを使用し、現在のrelease-ブランチが更新されるたびにポスト受信フックを使用して更新することです。

2

リリース*タグ名に自然順序付けルールがある場合は、それらをリストして最後のものを選択できます。例えば

、これはこの方法を達成することができる。

git tag -l release-* | sort -V 

Gitのタグの-lオプションは、供給されたパターンに一致するタグをリストすることです。あなたが最後のリリースを取得したい場合は

git tag -l release-* | sort -V | tail -1 

ソート-Vは、あなたが最後のものを選択したい場合は、単に尾-1を追加

あなたのケースのために設計された特殊な数値ソートオプションですSubversion(例えば1.xリリース)はかなり簡単です:

git tag -l release-1.* | sort -V | tail -1 
関連する問題