概述
本文记录了笔者在使用Gerrit
(一种免费、开放源代码的代码审查软件)过程中的一些微小的经验,在这里做个简单的分享。
克隆工程
git clone ssh://tusi@xx.xx.cn:29428/project-name
如果使用了Git
代理,请将xx.xx.cn:29428
换成代理后的ip:port
git clone ssh://tusi@ip:port/project-name
创建develop分支
一般我们不会将代码直接提交到master
分支,而是会选择在develop
分支进行开发
git checkout -b develop origin/develop
添加到暂存区
修改代码后,将所修改的代码从工作区添加到暂存区
// 添加所有文件到暂存区
git add .
// 添加某目录或文件到暂存区
git add src
提交暂存区改动
将暂存区内容提交到版本库
git commit -m '测试commit'
推送到远程分支
git push origin HEAD:refs/for/develop
常见报错
missing Change-Id in commit message footer
先执行这两条命令,命令中的信息改成自己的
gitdir=$(git rev-parse --git-dir); scp -p -P 80 tusi@ip:hooks/commit-msg ${gitdir}/hooks/
git commit --amend
再次push
Gerrit merge conflict
- 在
Gerrit
上abandon
这次push
- 软回滚
git reset --soft origin/master
-
pull
代码
git pull
- 再次
commit
,push
最佳实践
git status检查仓库状态
一个很好的习惯,add
, commit
, push
等操作前后都可以用git status
检查下,有助于理解Git
的原理。
git status
hotfix合入master
git merge origin/hotfix/20190909
git push origin HEAD:refs/for/master
强制与远程分支同步
慎重操作!!!会覆盖掉本地代码!
git reset --hard origin/develop
git add 后想撤销
不小心添加了文件到暂存区?使用以下命令:
git checkout -- src/main.js
git commit 后想回退
// 不小心commit了1次
git reset --soft HEAD^
// 不小心commit了2次
git reset --soft HEAD~2
紧急bug来了,临时保存feature代码
- 先保存代码
git stash
- 检查确认下
git stash list
- 切换分支去修复
bug
- 修复完毕,切回
feature
分支,释出stash
代码接着干
git stash pop
扫一扫下方小程序码或搜索Tusi博客
,即刻阅读最新文章!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。