「Gerrit」是一个开源代码审查软件,最开始是用于管理「Android安卓」项目而产生的,所以做安卓开发的同仁应该知道这个工具。
****
提交代码流程
用法和「Git」类似,如果对Git还不熟悉的话,可以公众号「叉叉敌」回复「git」,可以获得 stormzhang 整理的一份GIT经典资料。
****
首先本地安装GIT
既然是GIT的,首先是安装,直接在Git-Scm官网下载对应的版本即可。
查询代码状态
通过 status 可以查看有哪些文件是需要添加的。
代码语言:txt复制$ git status
HEAD detached at FETCH_HEAD
Changes not staged for commit:
modified: 1.txt
添加代码
找到对应的代码或文件有更新,就可以通过 add 来添加代码带缓存区。
代码语言:txt复制$ git add 1.txt # 文件比较多的可以用git add *
这个地方如果遇到 「LF will be replaced by CRLF」这个警告。
代码语言:txt复制warning: LF will be replaced by CRLF in src/***.java.
这个告警出现原因是,因为代码是从Unix或者Linux取到的,其结尾的换行符是「LF」,而 windows 是「CRLF」,可以使用以下命令来关掉这个警告;
代码语言:txt复制git config core.autocrlf true
提交代码到缓存区
添加后,用 commit 提交到本地的缓存区,
代码语言:txt复制$ git commit # 会弹出一个交互界面,和vi类似
$ git commit -m "comment" # 没有交互
$ git commit --amend # 追加一个修改,对应的changesID不变化
.....
21 files changed, 8693 insertions( )
create mode 100644 Android.mk
create mode 100644 AndroidManifest.xml
create mode 100644 AndroidTest.xml
.....
提交代码到服务器
commit 是提交到缓存区,而 push 是提交到服务器。
代码语言:txt复制$ git push origin HEAD:refs/changes/111 # 提交到已有的 gerrit 上面
$ git push origin HEAD:refs/for/master # 提交到一个新的 gerrit 上面
小结
通过一个简单的文件或代码修改提交,就知道大部分使用方法和 git 一样。只要有部分命令有点出入,不过在实际的上产过程中遇到问题,第一个是多上网查查,第二个是多注意下错误回显会有一个提示或帮助信息,说不定执行一下问题就解决了。
****
扩展阅读
- [LF will be replaced by CRLF in git - What is that and is it important? duplicate
](https://stackoverflow.com/questions/5834014/lf-will-be-replaced-by-crlf-in-git-what-is-that-and-is-it-important)
- Git explained: Git Concepts and Workflows
- Gerrit explained: Gerrit Concepts and Workflows