Gerrit常见命令及最佳实践

Gerrit常见命令及最佳实践

本文记录了笔者在使用Gerrit(一种免费、开放源代码的代码审查软件)过程中的一些微小的经验,在这里做个简单的分享。

克隆工程

1
git clone ssh://tusi@xx.xx.cn:29428/project-name

如果使用了Git代理,请将xx.xx.cn:29428换成代理后的ip:port

1
git clone ssh://tusi@ip:port/project-name

创建develop分支

一般我们不会将代码直接提交到master分支,而是会选择在develop分支进行开发

1
git checkout -b develop origin/develop

添加到暂存区

修改代码后,将所修改的代码从工作区添加到暂存区

1
2
3
4
// 添加所有文件到暂存区
git add .
// 添加某目录或文件到暂存区
git add src

提交暂存区改动

将暂存区内容提交到版本库

1
git commit -m '测试commit'

推送到远程分支

1
git push origin HEAD:refs/for/develop

常见报错

先执行这两条命令,命令中的信息改成自己的

1
2
gitdir=$(git rev-parse --git-dir); scp -p -P 80 tusi@ip:hooks/commit-msg ${gitdir}/hooks/
git commit --amend

再次push

Gerrit merge conflict

  1. Gerritabandon这次push
  2. 软回滚
1
git reset --soft origin/master
  1. pull代码
1
git pull
  1. 再次commit, push

最佳实践

git status检查仓库状态

一个很好的习惯,add, commit, push等操作前后都可以用git status检查下,有助于理解Git的原理。

1
git status

hotfix合入master

1
2
git merge origin/hotfix/20190909
git push origin HEAD:refs/for/master

强制与远程分支同步

慎重操作!!!会覆盖掉本地代码!

1
git reset --hard origin/develop

git add 后想撤销

不小心添加了文件到暂存区?使用以下命令:

1
git checkout -- src/main.js

git commit 后想回退

1
2
3
4
// 不小心commit了1次
git reset --soft HEAD^
// 不小心commit了2次
git reset --soft HEAD~2

紧急bug来了,临时保存feature代码

  1. 先保存代码
1
git stash
  1. 检查确认下
1
git stash list
  1. 切换分支去修复bug
  2. 修复完毕,切回feature分支,释出stash代码接着干
1
git stash pop

扫一扫下方小程序码或搜索Tusi博客,即刻阅读最新文章!

Tusi博客

# Gerrit
You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×