15

TortoiseGit を使用してデータの一部を gerrit にプッシュするのに苦労しています。新しいレポを作成し、マスターにコミットしました。秘密鍵を使用して 1 つのリモートを追加し、公開鍵もアップロードしました。

gerrit からプルするのは問題ありませんが、プッシュしようとすると次のエラーが発生します。

remote: Resolving deltas: 100% (96/96)
remote: Processing changes: refs: 1, done    
remote: ERROR: missing Change-Id in commit message
remote: Suggestion for commit message:
remote: Initial Commit
remote:
remote: Change-Id: Icb5f79b9a32abc77a99f0034ecc6a5a9ae9ef1c6
remote: Hint: To automatically add a Change-Id to commit messages, install the commit-msg hook:
remote: $ scp -p -P 29418 <server stuff>:hooks/commit-msg .git/hooks/

大きな問題は、私が $ scp のない Windows の世界に住んでいるということです。..何か提案、git フックをインストールしたり、コミット ID を配信したりするにはどうすればよいですか?

ところでgit hooks --install返品'hooks' is not a git command

4

2 に答える 2

20

: からダウンロードしhttp://www.example.com/r/tools/hooks/commit-msgて、.git/hooks フォルダーにコピーするだけです。

または、gerrit レビューからダウンロードすることもできます

- アップデート -

ローカルでコミットを行った後にコミット フックを追加する場合 (おそらくそうです)、最後のコミットを修正する必要があります。実際の変更を行わずに最後のコミットを修正するだけで、変更 ID がログ メッセージに追加されます。

  1. git commit -a --amend
  2. git log -1// これは、変更 ID がログ メッセージに存在することを確認するためのものです
  3. git push origin HEAD:refs/for/master

-- 更新 2 --

あなたが私のようで、時々 create clones で多くのプロジェクトを持っている場合は、デフォルトで commit-msg フックがインストールされるように、git インストールをセットアップすることをお勧めします。これを行うには、commit-msg を git テンプレート フォルダーにコピーします。私の Win7 システムでは、次の場所にあります。

C:\Program Files (x86)\Git\share\git-core\templates\hooks

次回新しいクローンを作成するときに、commit-msg を再度ダウンロードする必要はありません。

于 2013-07-18T03:56:53.200 に答える