1

git にコミットするとき、git に git リビジョン番号を含むファイルを作成させることはできますか?

本番環境から git リビジョン番号を取得できる必要があります。ただし、本番環境では .git ディレクトリにアクセスできないため、サーバーで実行されているコードの現在のリビジョンを取得できるようにする別の方法が必要です。伸縮性のある豆の木を使用しています。基本的に、本番環境を git リポジトリから起動できるようにするだけですが、.git ディレクトリは含まれていません。

4

1 に答える 1

3

これは不可能です。コミット ID (Git が持っているのは一種のリビジョン ID だけですが、git describeリポの適切な場所にタグが存在する必要があるやや読みやすい出力もあります)コミットの内容について。現在の内容に基づいてコミット ID を計算して挿入すると、内容が変更されるため、コミット ID は計算したものとは異なります。

一般的には、別の場所でコミット ID を生成する方法があります。たとえば、コードを本番環境にアップロードする際にコードを利用できるようにします。ビルド プロセスでも同じことが必要であり、通常は次のように機能します。

  1. 現在のコミットの ID (例: git rev-parse HEAD) を取得し、ファイルに書き込みます。C プロジェクトでは、これはヘッダー ファイルである可能性があります。
  2. ビルド プロセス内でそのファイルを使用します。たとえば#include、ソース ファイルで -ing します。

同様に、コードをデプロイする場合は、コードをプッシュするジョブで、コミット ID を含む追加のファイル (残りのファイルと共にプッシュされる) を作成するだけです。

于 2013-11-11T16:58:16.523 に答える