“git/gerrit/repo代码仓操作指南”的版本间的差异
(以“= 一、初次使用 = 这一章的内容只用配置一次,后续使用可跳过。 == (一)注册 gerrit账号 == 注册网址:http://gerrit.xxxx.org:80...”为内容创建页面) |
小 |
||
第55行: | 第55行: | ||
$ repo sync -j16 | $ repo sync -j16 | ||
+ | |||
+ | = 三、进阶 = | ||
+ | |||
+ | 有时可能会误提交文件,如password, ssh这种,直接删除是没用的,因为 git的历史记录里还在。 | ||
+ | |||
+ | 针对这种问题,可以使用 filter-branch命令,来删除相关历史记录。 | ||
+ | |||
+ | 如: | ||
+ | $git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.java' --prune-empty --tag-name-filter cat -- --all #文件 | ||
+ | $git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch source/' --prune-empty --tag-name-filter cat -- --all #目录 | ||
+ | |||
+ | 也可以指定分支branch: | ||
+ | |||
+ | $git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.java' --prune-empty --tag-name-filter cat -- --branches branch_name | ||
+ | |||
+ | 参考: | ||
+ | |||
+ | https://help.github.com/articles/removing-sensitive-data-from-a-repository/ | ||
+ | |||
+ | https://www.git-scm.com/docs/git-filter-branch |
2017年7月7日 (五) 14:38的最后版本
目录 |
一、初次使用
这一章的内容只用配置一次,后续使用可跳过。
(一)注册 gerrit账号
注册网址:http://gerrit.xxxx.org:8010/htpaswd/
登陆名务必填入自己名字的全称,密码请随意,密码设定后可 更改
(二)绑定邮箱
注册成功后,打开gerrit:http://gerrit.xxxx.org/,登陆
登陆完成如果发现页面空白,则再点击刷新一下页面 http://gerrit.xxxx.org/
点击右上角 "Anonymous Coward",会弹出一个小框,点击 "settings",此时再点击页面左侧导航栏上的 "Contact Information":
1 往 "Full Name"中填入自己名字的全称,点击"Save Changes"
2 再点击 "Register New Email ...",输入自己的邮箱,如 xxx@vivo.com.cn,输入完毕点击 "Register"
3 登陆自己的邮箱,将会发现一封标题为 "[Gerrit Code Review] Email Verification"的未读邮件,点击其中的确认链接,即可完成邮箱的验证
验证成功后,可以看到 "Contact Information"中 "Preferred Email"一项已经显示为我们刚刚输入的邮箱。
(三)「可选」通知管理员将自己设为仓库owner
这一节为可选内容,如果你是某个仓库的owner,此时可联系管理员进行设定,以便后续进行代码审核等工作。
(四)添加 ssh 公共密钥
再次点击右上角进入 "settings",点击 "SSH Public Keys" -> "Add SSH Public Key"会出来一个输入框
然后,在自己的服务器上运行以下命令,得到已有的 ssh 公共密钥:
$ cat ~/.ssh/id_rsa.pub
将全部内容复制到 "Add SSH Public Key"下方的输入框中,点击 "Add"完成添加
二、检出代码
以检出测试代码为例:
$ repo init -u ssh://username@gerrit.xxxx.org:29418/VivoCode/manifest -m default.xml
- username换成自己的用户名
更改一下自己的用户名 $ cp .repo/manifest.xml.link .repo/manifest.xml $ vim .repo/manifest.xml 把 <remote fetch="ssh://username@gerrit.xxxx.org:29418" name="origin"/>中 username换成自己的用户名
- 注:以上框内步骤为临时使用,后续将不需要这一操作
$ repo sync -j16
三、进阶
有时可能会误提交文件,如password, ssh这种,直接删除是没用的,因为 git的历史记录里还在。
针对这种问题,可以使用 filter-branch命令,来删除相关历史记录。
如:
$git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.java' --prune-empty --tag-name-filter cat -- --all #文件 $git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch source/' --prune-empty --tag-name-filter cat -- --all #目录
也可以指定分支branch:
$git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.java' --prune-empty --tag-name-filter cat -- --branches branch_name
参考:
https://help.github.com/articles/removing-sensitive-data-from-a-repository/