Gerrit代码提交常见问题

Leon
2021-08-20 / 4 评论 / 2,086 阅读 / 正在检测是否收录...

Gerrit代码提交常见问题

  1. 一般情况下

    git add .
    git commit -m "commit info"
    git push origin HEAD:refs/for/2021-student

如果你遭遇了这样的报错:

 ! [remote rejected] HEAD -> refs/for/2021-student (change http://192.168.100.159/gerrit/13941 closed)
error: 推送一些引用到 'ssh://xueyu.li@192.168.100.159:29418/common/android/vendor/ts/proprietary/marquee/MarqueeJni' 失败
 ! [remote rejected] HEAD -> refs/for/2021-student (no new changes)
error: 推送一些引用到 'ssh://xueyu.li@192.168.100.159:29418/common/android/vendor/ts/proprietary/marquee/MarqueeSdk' 失败

因为两次提交获得了相同的 ChangeID。

git commit --amend

找到changeid删掉再次push。

  1. 如果你不幸提交了很多个分支。(可使用git log查看)

报错信息如下:

! [remote rejected] HEAD -> refs/for/master (change http://btsw5.sdlc.rd.realtek.com/gerrit/2323 closed)

执行git rebase合并多条分支。

git rebase -i HEAD~3

这个3代表你要合并的分支数量,注意:如果一共有4次提交,则只能压缩后3次提交!不能执行 git rebase -i HEAD~4 。

# 命令:
# p, pick = 使用提交
# r, reword = 使用提交,但编辑提交信息
# e, edit = 使用提交,但停止修改
# s, squash = 使用提交,但融合到之前的提交中
# f, fixup = like "squash",但是丢弃这个提交的日志信息
# x, exec = 使用 shell 运行命令(该行的其余部分)
# d, drop = 删除提交

比如说我要保留第一个提交,第二个和第三个合并到第一个。

pick 16a9a47 update1 
s a7186d8 update2
s 7b16b28 update3

:wq保存退出。

  1. 如果是这种情况:(no common ancestry)

    git rebase -i HEAD~3

这个3代表你要合并的分支数量,注意:如果一共有4次提交,则只能压缩后3次提交!不能执行 git rebase -i HEAD~4 。

 ! [remote rejected] HEAD -> refs/for/2021-student (no common ancestry)error: 推送一些引用到 'ssh://ye.zheng@192.168.100.159:29418/common/android/vendor/ts/proprietary/marquee/MarqueeJni' 失败
remote: Counting objects: 1513, doneremote: Finding sources: 100% (4/4)remote: Total 4 (delta 0), reused 4 (delta 0)展开对象中: 100% (4/4), 2.20 KiB | 1.10 MiB/s, 完成.来自 ssh://192.168.100.159:29418/common/android/vendor/ts/proprietary/marquee/MarqueeJni * branch            refs/changes/41/13941/3 -> FETCH_HEAD冲突(add/add):合并冲突于 native.cpp自动合并 native.cpperror: 不能应用 0d4f005... JNI Student File提示:冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'提示:对修正后的文件做标记,然后用 'git commit' 提交为 'native.cpp' 记录 preimage

保留代码目录,重新

repo start name - all 

把保留的代码复制到对应目录下

git add .git commit -m "commit info"git push origin HEAD:refs/for/2021-student

#### 祝各位统统Pushed all commits to origin/master!

0

评论 (4)

取消
  1. 头像
    xxx
    Windows 10 · Google Chrome

    画图

    回复
  2. 头像
    电磁炉
    Windows 7 · Google Chrome

    画图

    回复
  3. 头像
    电饭锅
    Windows 10 · Google Chrome

    画图

    回复
    1. 头像
      电饭锅
      Windows 10 · Google Chrome
      @ 电饭锅

      画图

      回复