[解決済み] Git が以前のコミットをサインオフ?
質問
サインはどうすればいいのでしょうか?
-s
) を付ける方法を教えてください。
どのように解決するのですか?
直前のコミットにサインオフするには、amend オプションを使用します。
git commit --amend --signoff
編集: この amend は最新のコミットのみに署名します。複数のコミットにサインオフするには
filter-branch
と
interpret-trailers
が示唆するように
vonc
などを使うべきでしょう。以下は、私のために機能したものです。
まず、トークンを置き換えるためにgitを設定します。
sign
を
Signed-off-by
. これは一度だけ行う必要があり、次のステップで必要になります。
git config trailer.sign.key "Signed-off-by"
コマンドは
git filter-branch
というスイッチで
--msg-filter
はコミットごとに一度だけフィルタを評価します。フィルタはコミットメッセージを標準入力で受け取り、標準出力に出力する任意のシェルコマンドを使用できます。独自のフィルタを作成することもできますし
git interpret-trailers
を使うこともできます。以下は、現在のブランチの最新の 2 つのコミットを、現在のユーザーとメールアドレスでサインオフする例です。
export SIGNOFF="sign: $(git config --get user.name) <$(git config --get user.email)>"
git filter-branch -f --msg-filter \
"git interpret-trailers --trailer \"$SIGNOFF\"" \
HEAD~2..HEAD
注1) コミットメッセージを変更するとコミット ID が変更されます。つまり、既に公開されているブランチをプッシュするには
--force
を使うか、よりよい
-force-with-releaseを使用する。
.
注2) カスタムスクリプトを書くつもりなら、以下の点に注意してください。
git filter-branch
はカレントディレクトリを
<repo>/.git-rewrite/t
. スクリプトへの相対パスを使用しても、通常はうまくいきません。代わりに、スクリプトはあなたの
$PATH
の中にあるか、絶対パスで提供されなければなりません。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[git push] 解決策: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
-
git commit to GitHub エラー、プロンプト ! [リモート拒否] master -> master (pre-receive hook declined) エラー: 失敗しました。
-
致命的 リモートレフマスターが見つからない
-
[解決済み] Gitのサインオフ機能は何のためにあるのですか?
-
git push please tell me who you are or git fatal: empty ident name (for <>) not llowed.
-
[解決済み] GitHubで2つのブランチの差分を取るには?
-
[解決済み] 単一ファイルのマージをやり直す
-
[解決済み] なぜgit AuthorDateはCommitDateと違うのですか?
-
[解決済み] Git: リモートブランチの情報を更新する
-
[解決済み] CVS から Git への移行: $Id$ 相当?