环境:CentOS 7
GIT & GERRIT
Let’s go ,
1. 登录 gerrit网页端
https://xxx.xxx.xxx.xxx:xxx/ -- 用户注册 -- 邮箱注册
*** 准备接收公钥
2. 进入git终端
[]# ssh-keygen -t rsa -C "随意打个连接名" (这个连接名可以用来标志生成的公钥 生成公钥 rsa:算法 [Centos 7 默认装载有git])
>>Enter file in which to save the key (/root/.ssh/id_rsa): (公钥默认保存位置:/root/.ssh/ 回车默认,也可自定义)
>>Enter passphrase (empty for no passphrase):
Enter same passphrase again: (公钥匹配密码:回车默认不需要密码)
一路回车便在/root/.ssh/下生成 id_rsa id_rsa.pub 两个文件
3. 将公钥拷贝至gerrit网页端 ‘SSH Public Keys’处
[]# cat /root/.ssh/id_rsa.pub
将cat得到的内容复制到网页端 公钥接收处
4. 克隆 (下载代码)
例如项目:TEST
gerrit端:把 "Projects--List--TEST--Clone with commit-msg hook + ssh"
的内容复制到Git终端直接运行[建议在空目录下执行此步]
###注意,这一步一定要选择带有钩子(commit-msg hook)的方式(人家提供现成的拷贝按钮)
5. 查看
[]# ls 一下可以看到TEST目录
go on,代码上传
6. git终端配置
有两种选择
1)
[]# git config --global user.name "注册用户名"
[]# git config --global user.email "注册邮箱"
2)
[]# vim .git/config //自己配置(我的windows是在 D:/Git/.ssh/config)
/*[]# git config --global --list //查看上述信息*/
7. 提交
**********************************************
[]# cd TEST // 克隆下来的目录
[]# git branch localedit // 新建本地分支localedit(名字自定义)
[]# git checkout localedit
以上两步是否是多余的呢?当然不是。如果这个分支改烂了,可以创建新的分支再改嘛;如果直接修改pull下来的分支,会导致改烂后再次pull失败或垃圾修改还是被带入到新pull的代码中,因为两次Pull的md5值相同,git checkout 过程中会携带最近一次的你的修改过去
**********************************************
下面两者选一个
1)[]# git add . //将所有修改提交到缓存
2)[]# git add 文件名1 文件名2 ... //将指定的文件修改提交到缓存
**********************************************
[]# git commit -s //本次修改首次提交到本地仓库 ,如果第一次提交在Gerrit端没有submit,再次修改时注意避开上一次失败提交的commit id。
//如果要沿用上一次merage的id,使用命令[]# git commit -s --amend
*** 有的朋友经常会在commit时混淆,导致提交后分支紊乱。要常用git log 或git show命令查看日志信息
**********************************************
上传 : 不推荐直接 []# git push
[]# git push origin HEAD:refs/for/master(master是远端分支名,这个要根据实际工作中的分支名推送)
//如果上面步骤没有出错,可以在网页端看到提交的内容
succeed!
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………