Git是当下最流行的开源分布式版本控制系统,与SVN、CVS、ClearCase这类集中式版本控制系统不同,分布式的Git中所有用户电脑上都有一份完整的代码库。本文要搭建的git服务器可以想象成是一个24小时开机的电脑,供开发人员交换代码使用。另外,git服务器还会有权限控制、用户控制等这些管理功能。
一、Git软件选择
Git服务端
若用官方的版本,功能太单一,而且只能在linux下搭建(windows下很麻烦,主要是ssh连接不好弄,后面直接放弃)。可选的git服务端有下面这些:
GitHub :首先这是一个网站,它为用户提供了免费的仓储空间,很多开源软件的源码都放在这上面管理。但缺点是你的代码所有人都能看到,如果要想限制访问,就得交费了。而且由于某些原因,国内访问比较慢。
Gitlab:一个完全模仿GitHub网站的开源项目,功能很强大,可以直接拿来自己搭建git服务器。但这个项目不是完全免费,高级功能都是收费的,具体可查阅官网。
GitBlit:开源免费。有中文的web管理界面,使用过程也比较简单。这里介绍这个软件的使用。
Git客户端
官方git功能太单一,所以除了安装官方git外,都要装一个图形化客户端。git官网上列了很多种类的客户端https://git-scm.com/downloads/guis。公司内部用的是Git Extensions,本来也打算用这个,但是试了一下,遇到各种问题,主要是在ssh认证上,一直有问题,后面放弃了,改用了SourceTree,感觉还不错。
二、Windows下安装Gitblit作为git服务端
1、在Gitblit官网下载windows版本包,版本包是一个绿色软件,无需安装,解压即可
2、进入解压后目录的data子目录,有如下两个properties文件
defaults.properties:默认的配置项
gitblit.properties:用户设置的配置项,新安装时,没有配置值,若需要配置,参考defaults.properties把配置项复制过来,修改对应的值即可。下面列了几个常用的修改项:
server.certificateAlias = localhost主机的别名,一般改成服务器的ip
server.storePassword = gitblit服务端KeyStore密码,该密码在生成服务器证书时需要使用
server.httpsBindInterface= localhostHTTPS访问时的ip地址
server.httpsPort = 8443HTTPS端口
3、执行主目录的gitblit.cmd文件程序就启动了
4、访问https://localhost:8443 进入管理界面,用户名密码默认都是admin。管理员用户可以管理其他用户及团队。
个人总结的几条Gitblit最佳实践:
1、由管理员用户统一创建版本库,虽然普通用户也可以,但是版本库多了就不利于统一管理。创建时,安全起见,建议访问设置为“限制查看,克隆和推送”。
2、管理员添加新建库的用户及权限,如无特殊要求,普通用户只赋RW读写权限
3、用户使用自己的用户密码进入https://localhost:8443 地址,在版本库界面选择需要使用的版本库,此时界面会展示各种git客户端工具连接时使用的代码库地址。建议使用https类型的地址,注意:每个用户的地址都是不一样的,@前面的用户名不一样
三、使用SourceTree作为git客户端
1、先在git官网下载git windows版本,并安装,然后在安装SourceTree
2、SourceTree安装时有个比较恶心的地方,它需要注册,而且注册使用163邮箱还不行,得用gmail邮箱,国内注册可能得翻墙。不过网上有跳过注册的方法,我是自己gmail就成功了,暂时不需要跳过。
3、下载代码库
参考下图,在Clone界面,输入前面的sourcetree的代码库地址,点击克隆按钮。过会根据提示输入用户密码即可。
注意:在文件状态的界面,平时使用时,下图的选项卡使用“待定”即可,不要选其他,否则会看不到自己修改的代码文件
4、项目的代码库中,有一个.gitignore文件,这个文件时用于配置那些不想由git管理的代码文件,一般java项目会将bin文件夹去掉。参考:
领取专属 10元无门槛券
私享最新 技术干货