31

クライアントの git バージョンは 1.7.0.4 です。

メッセージをコミットするときに、コミット ログ メッセージの最後にコミッター用の "Signed-off-by" 行を自動的に追加したいと考えています。

  1. を設定git config --global format.signoff trueして実行するgit commit -m "modify something"と、 に「Signed-off-by」が表示されませんgit log
  2. を使用するgit commit -m -s "modify something"と、「Signed-off-by」が に表示されgit logます。

誰でも助けることができますか?

4

3 に答える 3

21

次のようないくつかの空白行と署名者テキストを含むファイル (「~/MYPROJECT/git-template」など) を作成することにより、プロジェクトで既定で署名することができます。

Signed-off-by: Your Name <your.email@example.com>

次に、それをコミット テンプレートとして使用するように git を構成します。例えば:

git config commit.template ~/MYPROJECT/git-template

プロジェクトの署名者がプロジェクトにとって何を意味するかをプロジェクトがどこかに文書化していることを確認してください。CONTRIBUTING.md ファイルにコピーできるテキストを次に示します。

すべてのコントリビューション (プル リクエストを含む) は、Developer Certificate of Origin (DCO) バージョン 1.1 に同意する必要があります。これは、Linux カーネル開発者によって作成および使用され、http://developercertificate.org/に投稿されたものとまったく同じです。これは、開発者がプロ​​ジェクトに含めるパッチを提出する権利を持っていることを証明するものです。コントリビューションを送信するだけで、この同意を意味しますが、すべてのパッチに「Signed-off-by」タグを含めてください (このタグは、DCO に同意することを確認する従来の方法です)。

于 2016-01-08T23:29:22.980 に答える
14

Git 2.14.x/2.15 の更新: 「Git - コミットがプログラムによってサインオフされているかどうかを検出する」で述べたように、行のコミット メッセージ トレーラーを解析できるようになりますSigned-off-By

" git interpret-trailers" には " " と他のいくつかのオプションが教えられ、--parseスクリプトがコミット ログ メッセージから既存のトレーラ行を簡単に取得できるようになりました。

を使用するクライアント側フックについては、 stefanct回答を参照してください。commit-msggit interpret-trailers


元の回答 (2013)

format.signoffパッチに関するものです(たとえば、このパッチに示されているように):

format.signoff

format-patchデフォルトで -s/--signoff オプションを有効にするブール値

とは関係ありませんgit commit -s

つまり、すべてのコミットをサインオフする必要はありませんが、他のユーザーが使用できるようにパッチとして公開する場合 (「git: submit patchs 」のよう)、署名する必要があります。

の正確な意味については、「 Git のサインオフ機能とは何ですか?Signed-of-by 」を参照してください。

于 2013-02-22T07:20:32.897 に答える