私はgitの代わりに "svn info"を探しています。gitの代わりに "svn info"を使用して、トレーサビリティのためにビルドに含めることができますか?
今日私はSubVersionが私のビルドに「svn info」コマンドを与えてくれたという情報を追加して、それを起動時に印刷するソースファイルにプッシュします。 そのように私はいつもそのビルドがどこから来たのか、それを元に戻す方法を知っています。
URL、リポジトリルート、リポジトリUUID、リビジョンのような「svn info」がある場合は、デプロイされているものとビルドシステムの間に良好なリンクがあります。 誰かがバグを報告した場合、そのソフトウェアがどこから来たのか知っています。 この情報は自動的に含まれているため、人為的なエラーのリスクは小さくなります。
ここで問題となるのは、gitからどのような情報を取得する必要があるのか、後でそのビルドの由来を特定できるかどうかです。 その情報を使ってそのバージョンに正確に戻すにはどうすればよいですか? REV-解析を使用して た:
(たぶん私は、同様のgitが配布されるので、 "コンピュータを構築" に関するいくつかの情報を追加する必要があります。)
おかげ ヨハン
更新本当に役に立った、私はこのような何かを得た:
[email protected]:~/git_test$ git rev-parse HEAD
72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8
それとmそれ以降は可能です。
[email protected]:~/git_test$ git checkout 72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8
私はどこにいたのですか。
更新: 私は、スクリプトVonCが提供したことから、いくつかの部分を取り、私のビルドファイルにそれらを置く場合、私は私が探していた結果を得るだろうと思います。
更新:「gitの記述」に ノート、あなたはこの仕事をするためにか、あなたはこのような何かを得るでしょう、以前のあなたブランチの歴史の中で本当のタグ(タグ-a)が必要です。
fatal: cannot describe '72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8'
問題もここhttp://www.rockstarprogrammer.org/post/2008/oct/16/git-tag-does-wrong-thing-default/
記述されているしかし、たとえあなたのエラーメッセージだったこと、チェックアウトはとにかく働くように見えることに注意してください。
git checkout 72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8
あなたは、あなたが「ver1.0」タグ、 のようなものを作成し、あなたが作業を続ける場合は、このような何かを得ることであると思われる通常の事:だから
[email protected]:~/git_test$ git describe
ver1.0-2-g4c7a057
[email protected]:~/git_test$ git tag -a ver2.0
[email protected]:~/git_test$ git describe
ver2.0
[email protected]:~/git_test$ git commit . -m "something..."
Created commit ac38a9d: something...
1 files changed, 1 insertions(+), 0 deletions(-)
[email protected]:~/git_test$ git describe
ver2.0-1-gac38a9d
あなたはそれが正しく機能し、より多くの人が読むことができる を生成する可能性があり、本当に便利なこともあります。
おかげ ヨハン
のgitで
@Johan:私は以下の言及スクリプトは非常におしゃべりし、「SVN情報」コマンドのいくつかを模倣するように設計されています。それはより簡潔なバージョンにそれをトリミングすることは常に可能です。 – VonC
@VonC:そこには有効なポイントがあります。 – Johan