工作的工具学习:SVN和gerrit基本使用

近期有个项目结项,要把代码文档之类的都传到SVN上面。。。虽然之前用过,但是没比较系统的看过,这里总结一下


1. SVN

1.1. SVN安装

下载链接:https://tortoisesvn.net/downloads.html
然后双击安装就行


1.2.SVN基本用法

参考菜鸟教程:TortoiseSVN 使用教程

1.2.1. 查看已有的SVN项目

在文件管理器里,随便找个地方右击:
在这里插入图片描述
然后在弹出的对话框中输入对应的svn地址:在这里插入图片描述
然后就会弹出项目文件夹页面了在这里插入图片描述

1.2.2. 导出到本地

2. gerrit

粗略搜索了一下,这个东西似乎和git是一个东西???

已知的一个用法是:

git clone http://XXXXXX/XXXXX
# 和git的用法似乎一样

参考博客:【Gerrit】Gerrit工作流程及使用手册

gerrit是可以自己搭建的一套代码审核环境,可以自己配置ip然后以网页形式登录。在允许内的局域网中,浏览器输入http://1192.168.1.100:81/ 然后就会进入一个登录界面在这里插入图片描述
很简陋的界面。。。
在这里插入图片描述
点击sign in进行登录,然后就可以看到一些内容了。。。 从那个博客可以看出来,这个东西不太好用,而且已经快被淘汰了。。。都去用gitlab了。

盗用那个博客的一张图
在这里插入图片描述
大意就是不同的角色有不同的权限,普通成员没有push权限,只能进行review,上传代码,审核人员通过之后,才会真正提交到代码仓库中。

2.1 基本用法

2.1.1 git clone 把代码拉下来

gerrit是一个结合了git的网页代码管理服务,所以不需要安装,只需要访问,有权限就可以。

当访问有权限的gerrit内容时,比如clone某个项目时,会要求你输入用户名和密码,注意,此时的密码并不是登录密码,而是在登录后的系统中动态产生/分配的一个密码。

git clone http://XXXXXX/XXXXX

git clone ssh://XXX
# 这样才会有一个hook文件夹,才可以有change id

在这里插入图片描述
用这个产生代码密码去访问项目代码进行pull或者push。

2.1.2 把代码传上去

在进行git clone之后,本地文件夹中应该已经可以看到.git这个文件夹了。
然后把自己要上传的东西放到与.git同级文件夹下,准备工作就做好了,然后就开始上传。
基本还是参考:【Gerrit】Gerrit工作流程及使用手册这个博客的提交部分
直接上代码:

  1. 添加要上传的文件
git add .
## (添加所有文件)
  1. 修改提交者的提交者的名称和email,如果直接提交会报错:在这里插入图片描述
    用户名和邮箱信息可以在网站里看到,类似:
    在这里插入图片描述
$ git config user.name test3
$ git config user.email [email protected]

后期发现自己使用了–global参数,导致出现了一些错误。。。所以想要取消global参数,参考git 删除全局配置

git config -l/--list
# 查看全局配置文件
git config --global --unset user.name
# 重置某个配置项
  1. 配置好用户名和邮箱后,再去上传就可以了
    参考Git commit 常见用法
git commit -m

输入这个命令后,其实进入了一个vim的命令行中,提示你在没有#出现的行里输入这次commit的描述,然后使用vim的语法 esc:wq保存退出,就可以看到类似:(其中,basic-commit就是我们自己输入的对这次commit的描述性信息。)在这里插入图片描述
但是上传后并没有在网页中看到任何更新信息,应该是还没有搞好

  1. 关于change-id
    参考:
  • google gerrit repo, git commit如何自动生成Change-Id

  • 理解 Gerrit 的 Change-Id

  • 网址后面加上/tools/hooks/commit-msg 浏览器里输入这个网址,然后就会弹出下载保存文件的文件管理器了。

    • http://10.200.43.166:8080//tools/hooks/commit-msg
  • 把下载好的文件放到.git/hook文件夹里,其实hook文件夹里已经有一个commit-msg.sample文件了,不过这个文件的内容太简陋了,还是下载一个放进去吧。

  • 添加后,每次执行git commit 都会自动在log里面生成 Change-Id,用于gerrit code review。在这里插入图片描述
    注意:不能是global,应该是一个个人名称和邮箱(自己分配到的账户)
    在这里插入图片描述

  • 直接push,也弹出框让你输入用户名和密码,然后报个错。。
    在这里插入图片描述
    正确做法:

git config remote.origin.push refs/heads/*:refs/for/*
# 这行命令的意思是,当执行push命令时,将会推送到refs/for/当前head所在的分支上。

配置了上句之后,再去push,还是要输入用户名密码,然后又拒绝。。但是报错信息不一样,不是说change-id错误。 这个错误是因为当时在配置用户名和邮箱时使用了global参数,需要重置,然后就不会出现这个问题了
在这里插入图片描述
重置之后再去push,还是报错没权限,
在这里插入图片描述
参考如何用Gerrit进行评审

git push origin HEAD:refs/for/master

在这里插入图片描述
就对了,然后可以在网页上看到相应的进行中的reviews。ok
在这里插入图片描述

2.1.3 更新上传的代码

git config user.name huangs
git config user.email [email protected]
git add XXX(需要修改的文件)
git commit -m "这次提交的描述性文字"
git push origin HEAD:refs/for/master 
# push的时候会要求填写用户名和密码
# 然后再去网页上看就可以看到 这次更新的提交了

猜你喜欢

转载自blog.csdn.net/Castlehe/article/details/111170117