首先,使用git log命令查看commit历史记录,找到目标commit的ID。例如: shell git log 这将显示一系列的commit记录,每个记录都有一个唯一的commit ID。找到你想要切换到的commit ID,并复制它。 切换到指定的commit ID: 使用git checkout命令跟上目标commit的ID,切换到该commit。例如: shell git checkout <commi...
加入-s参数即可,例如 git commit -s --m "descriptions about the code" 要自动生成Changed-Id,需要在.git/hooks/下增加commit-msg文件 要修改提交的信息用 git commit --amend 参考链接: cnblogs.com/yzhihao/p/8 git提交待审核代码,报错没有change-id的解决方法 - FEDeveloper - 博客园...
https://gerrit-review.googlesource.com/tools/hooks/commit-msg 如果有自己的gerrit-review服务器,可以直接在网址后面加上/tools/hooks/commit-msg即可下载。 添加后,每次执行git commit 都会自动在log里面生成 Change-Id,用于gerrit code review。 注意:下载commit-msg需要设置执行权限:#chmod a+x .git/hook/commi...
最简单的解决办法就一行命令:git commit --amend --no-edit,其中no-edit是指不修改之前的commit中的说明文字,这样执行了git commit命令就会给你的merge的改动加上了change-id,很好用。
check_TaskID add_ChangeId 其次,是替换旧的commit-msg文件。 检索了一遍gerrit-site目录,没有发现commit-msg文件,怀疑是在gerrit.war中。解开gerrit.war,仍然没有发现commit-msg文件,怀疑实在某个依赖lib中。我们用的gerrit版本是2.12.8。翻了一下gerrit的源代码,commit-msg是在gerrit-server/src/main/resources/...
简单记录下,git commit 时,项目的.git/hooks 目录下已经正确配置了 commit-msg ,但是提交的时候,依然没有自动生成 change-id , 显然是 commit-msg 脚本并没有执行,最后发现是 commit-msg 的权限问题,差了下,至少需要给予 u+x 的权限 ,就 ok了。
使用的是Git自带的hook,commit-msg,自动生成的change-id就只是“I”,正常的后面应该还有hash值的。我看了commit-msg的脚本,看不出有啥问题。push以后就会被reject,看gerrit日志看到invalid Change-Id line format in commit message footer,这样的报错。
所以现在我们是要回到change 1这一条的,怎么做呢? 有两种思路可以进行回滚(enroll)。但基本命令都是 git reset --hard * --hard参数是为了把目前已经放到工作树(已经commit到版本库)上的信息都删除掉,以防回滚的时候产生冲突等不测。 *后面用可以使用HEAD^,回到上一步,如果你要回滚两步,就使用HEAD^^,当然...
批量修改历史 commit 信息 创建批量脚本changeCommit.sh: 代码语言:javascript 复制 $ cat changeCommit.sh #!/bin/sh git filter-branch --env-filter ' # 之前的邮箱 OLD_EMAIL="jiangliheng@126.com" # 修改后的用户名 CORRECT_NAME="jiangliheng" # 修改后的邮箱 CORRECT_EMAIL="jiangliheng@163.com" ...