我正在使用Gerrit Code审查.
我有一个问题.Gerrit有一些钩子,其中一个是:
patchset-created --change <change id> --change-url <change url>
--project <project name> --branch <branch> --uploader <uploader>
--commit <sha1> --patchset <patchset id>
Run Code Online (Sandbox Code Playgroud)
如果你对Gerrit进行一些更改,Gerrit会调用它.
传入的commit参数是sha1提交号,但我想要的是提交日志.例如,如果我这样做git commit -m "id:110",我想得到id:110.
我怎么才能得到它?我可以使用任何API吗?
我使用ssh(gerrit create-user)在Gerrit中创建了一个本地用户.我想更改用户的正确名称,但我找不到任何方法.
我可以更改用户数据,或者至少可以删除用户吗?
这个问题与git/gerrit push命令有关
当我使用以下命令将更改提交给git/gerrit时
git commit
git push origin HEAD:ref/for/master
Run Code Online (Sandbox Code Playgroud)
它创建一个提交.
现在,如果我想修改任何更改(创建补丁).
我修改文件并使用以下命令
git commit --amend
git log
Run Code Online (Sandbox Code Playgroud)
它修改了之前相同的提交中的细节
但是当我尝试使用以下命令将其推送到远程主控器时
git push origin HEAD:ref/for/master
Run Code Online (Sandbox Code Playgroud)
它创建了一个新的gerrit提交,而不是为之前的提交创建补丁
我错过了什么吗?
我遇到了将changeA和changeB推入Gerrit的情况。changeA是changeB的父级。
changeA被放弃了。如果changeB获得批准,它将自动合并吗?如果是,其父母将是谁?
如果changeB不会自动合并,我该怎么做才能使其正确合并?
我有这个问题
master -> First commit (BROKEN) -> Second commit (Fix of previous commit)
Run Code Online (Sandbox Code Playgroud)
我应该如何解决该问题(应该不会发生,应该是第一次提交的修订而不是第二次提交)?
我可以以某种方式修改/合并Gerrit GUI中的两个提交吗?
不是我的承诺,所以不要在本地
我一直在网上搜索,找不到确切的答案.
我已经在git flow模型下使用git 几年了.我最近换了工作,在这里,我们使用Gerrit.
使用Gerrit,除了其他限制之外,我似乎找不到合适的方法来处理2个单独的修复/功能并同时查看它们.据我所知,我必须在主分支之上工作,并且一次只能推送1个提交(除非我修补我的初始审核).这与git对我来说是非常不同的.
在git我可以这样做:
# work in a feature
git checkout -b feature/awesome
echo "nice" > nice.txt
git add nice.txt
git commit -m "My nice change"
git push -u origin feature/awesome
# work on a hotfix
git checkout -b hotfix/1.1.1
echo "fixed" > fixed.txt
git add fixed.txt
git commit -m "It's fixed"
git push -u origin hotfix/1.1.1
Run Code Online (Sandbox Code Playgroud)
然后,两个人会在我的代码合并到主人或开发分支并正确标记之前检查我的代码.
我知道我只需要学习这个新的Gerrit模型,但有人可以帮我弄清楚如何同时在两个不同的评论中工作吗?我觉得我的工作效率降到了20%.
我正在尝试使用需要摘要式身份验证的Gerrit API.读完一些后我知道我应该发一个请求,得到一个401,然后使用领域和随机数以及其他标题,然后使用MD5创建实际的请求认证.我在摘要中找到了一些例子,但它们似乎都是服务器端,而不是客户端.
我目前正在新公司中安装Gerrit服务器。我曾经使用gerrit几年了,但从未设置过。
我安装了gerrit 2.13.5,并且正在尝试对其进行配置。我要解决的最后两个问题(这里只讨论一个)。
我有一个提交列表A-> B-> C
A是B的父母,B是C的父母
我的提交C出现了一个按钮“提交包括父母”,但由于A和B被拒绝,所以我无法将其樱桃提取到gerrit / master分支中。
由于C与A或B不相关,但是我不想在本地分支太多,因此我已经将3个提交全部提交到同一个分支中。
我在gerrit配置中使用cherry-pick Submit选项
[submit]
action = cherry pick
mergeContent = true
Run Code Online (Sandbox Code Playgroud)
我以为使用此选项,我可以挑选没有直接父项依赖项的所有提交。我曾经在以前的公司中这样做,但是在这里我无法成功通过这种方式设置Gerrit。
如果有人有想法或问题,我将非常乐意得到或回答。
干杯。
我想将补丁集推送到已经推送的Gerrit。最初在发送补丁时,构建系统没有触发。我需要通过重新提交所有补丁来再次触发它。
Gerrit拒绝了
! [remote rejected] HEAD -> refs/for/branch (no new changes)
Run Code Online (Sandbox Code Playgroud)
我知道没有新的变化,但是我还是想推动。我怎样才能做到这一点?
--force 标志无效。