推开窗户上的gerrit

时间:2013-07-18 00:48:50

标签: windows git repository gerrit

我正在努力用TortoiseGit将我的一些数据推向一个gerrit。我创建了一个新的仓库并将其交给了主人。我添加了一个遥控器,带有我的私钥,我也上传了公钥。

从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/

最大的问题是,我生活在一个Windows世界,没有$ scp ....任何建议,我如何安装git hook或提交提交ID?

顺便说一句git hooks --install返回'hooks' is not a git command

2 个答案:

答案 0 :(得分:20)

只需从http://www.example.com/r/tools/hooks/commit-msg下载,然后将其复制到.git / hooks文件夹。

或者您可以从gerrit review

下载

- 更新 -

如果在本地提交之后添加提交挂钩(可能就是这种情况),则需要修改上次提交。只需修改最后一次提交而不进行任何实际更改,就会将Change-ID添加到您的日志消息中。

  1. git commit -a --amend
  2. git log -1 //这是为了检查您的日志消息中是否存在Change-ID
  3. git push origin HEAD:refs/for/master
  4. - 更新2 -

    如果你像我一样并且在创建克隆时有很多项目,你可能需要设置你的git安装,所以默认安装了commit-msg钩子。您可以通过将commit-msg复制到git模板文件夹来完成此操作。在我的Win7系统上,可以在这里找到:

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

    下次创建新克隆时,无需再次下载commit-msg。

答案 1 :(得分:1)

这看起来像是没有下载到您的克隆中的适当挂钩的情况。

您可以尝试这样做:

# cd into your clone such that you should be able to see .git folder on ls -a
# for example if you had following structure myclone/myproject/.git
# you have to cd to myclone/myproject directory


$ scp -p -P 29418 <server stuff>:hooks/commit-msg .git/hooks/

现在转到您的hooks文件夹并执行ls以查看是否已下载所需的挂钩。

您不需要安装任何钩子,只需从gerrit repo中复制它

<强>更新 https://www.mediawiki.org/wiki/Talk:Gerrit/git-review 是你可能正在寻找的