在日常编码时,我常常会有将代码保存到云端的需求,因此我选择将 Git 安装在我的 云服务器上,通过在服务器上搭建 GitBlit 服务,配合本地使用 TortoiseGit 上传代码,实现跨设备的云端代码版本管理。本篇文章将介绍如何在云服务器上搭建 Git 代码库,实现跨设备的代码版本控制。
目录
一、服务器上安装JDK
二、服务器上安装GitBlit
1、下载解压GitBlit
2、创建仓库文件夹
3、编辑配置文件
4、编辑批处理文件
5、测试是否安装成功
6、启动GitBlit服务
7、访问网站
三、服务器上创建GitBlit仓库
四、本地TortoiseGit提交代码
1、下载安装TortoiseGit
2、克隆GitBlit仓库到本地
3、提交本地代码到GitBlit仓库
五、常见的代码版本管理工具
一、服务器上安装JDK
首先,在服务器上安装 Java Development Kit(JDK)。
可以参考我之前写的文章:怎样在Windows系统下载安装JDK
二、服务器上安装GitBlit
1、下载解压GitBlit
浏览器访问下载地址:Gitblit,选择 Windows 版本下载。
下载完成后解压压缩包,存储在C盘,我这边的存储路径是 C://Git1.9.3。
2、创建仓库文件夹
创建一个文件夹用于存储仓库,例如:C://Git_Repository。为这个文件夹赋予读写全权限。
3、编辑配置文件
编辑解压后文件夹内的 data 文件夹下的 defaults.properties 文件,修改以下四个地方:
Ⅰ. 设置Git仓库文件夹的存储路径。
git.repositoriesFolder = C:\Git_Repertory
Ⅱ. 设置服务端口(Port),后面便我们通过 IP:Port 的形式可以去访问。
server.httpPort = 50
Ⅲ. 设置内网IP
注意是内网IP,不是公网IP!!!
不知道内网 IP 的可以到 cmd 命令窗口里输入查看 IPv4 Address。
在 cmd 命令窗口输入 ipconfig /all 查看 IPv4 Address,将内网IP填入以下位置。
这里内网 IP 是 10.0.07。
server.httpBindInterface = 10.0.0.7
Ⅳ. 设置https的绑定接口,填写localhost(或127.0.0.1)默认本地即可。
server.httpsBindInterface = localhost
4、编辑批处理文件
编辑 installService.cmd 批处理文件
Ⅰ. 修改 ARCH
SET ARCH=amd64 //64位系统
/*SET ARCH=X86 //若为32位系统*/
Ⅱ. 添加 CD
SET CD=C:\Git1.9.3 //这里CD的值是我们GitBlit的文件夹路径
Ⅲ. 修改 StartParams 启动参数
--StartParams="" ^ //参数设置为空
5、测试是否安装成功
运行 gitblit.cmd 批处理文件,测试是否可以正常启动。
如果闪退就是报错了,异常信息可以在 logs 文件夹里看到。
6、启动GitBlit服务
运行 GitBlit 服务。
7、访问网站
访问我们的 GitBlit 的端口可以看到可视化界面。验证 GitBlit 服务是否正常运行。
三、服务器上创建GitBlit仓库
点击新建仓库,选择仓库所属用户,输入仓库名称、描述,选择仓库权限和是否允许 forks。
后面我们提交的代码就会上传到这里来。
四、本地TortoiseGit提交代码
1、下载安装TortoiseGit
下载地址:https://github.com/TortoiseGit/TortoiseGit
安装过程中有几个点注意一下:
Ⅰ. 配置 git.exe 时指定路径的前提是开发设备上安装了 Git,没有的话需要去下载安装 Git,Git.exe 的路径是 Git 的 bin 文件夹路径。
Ⅱ. 语言选择默认是只有英语,如果有需要其他语言,需要去下载安装语言包 (和下载TortoiseGit在同一个网页里)。
安装语言包后我们就可以选到其他语言了。
Ⅲ. 安装最后一步是生成 SSH key,生成之后,可以把它粘到 Gitblit 网站的 SSH 位置,后面上传就不需要输账户密码了。
生成需要的时间还挺长的,Key passphrase 是密码的意思,自己设置。
生成好之后,保存密钥 (Save public/private key),后面拉仓库的时候会用到。
接着,生成的 Key 复制到我们搭建的 GitBlit 网站上。
这样两边都有 Key 就可以一劳永逸的跳过每次 push 代码都要的密码验证了。
2、克隆GitBlit仓库到本地
Ⅰ. 本地新建一个文件夹,作为后续持续发布到 GitBlit 上的仓库文件夹;
Ⅱ. 新建好之后,我们在文件夹内部右键选择【Git克隆】;
Ⅲ. 克隆的弹窗里会要我们输入仓库地址,地址在我们搭建的 GitBlit 的网站里可以找到。
访问我们刚刚搭建的 GitBlit 服务网站,复制 repository url 。
Ⅳ. 拉完之后我们可以看到服务器上 GitBlit 仓库的文件被下载了下来,包括:
README.md 文件(文本文件,可以写备注和项目介绍在上面)
.git 的隐藏文件(Git 的项目文件,后面要删除本地仓库只需要删除这个文件);
gitignore 文件(配置文件,里面记录的是需要在提交代码时被忽略的成分,比如 Release/Debug 产生的文件等);
3、提交本地代码到GitBlit仓库
点击 Git 提交 (commit),我这里是新文件所以直接提交到主线。
提交成功后,可以在服务器的 GitBlit 仓库文件夹和 GitBlit 网站上浏览上传的项目文件。
通过这些步骤,我们成功在建立了 GitBlit 云端代码库,实现了跨设备的云端代码版本管理。
五、常见的代码版本管理工具
除了 GitBlit,还有很多常见的代码版本管理工具。以下是一些工具的列举:
工具名称 | 工具特色 |
---|---|
GitBlit | 轻量级的Git服务,适用于小型团队和个人使用。注重简单性和易用性。 |
GitLab | 提供完整的CI/CD功能,支持DevOps实践。自托管版本提供更多自定义选项。 |
GitHub | 社交编程平台,拥有庞大的开发者社区。对开源项目友好,提供丰富的社交和协作功能。 |
Mercurial | 简单易用,适用于小型到中型项目。注重性能和易用性。 |
Bitbucket | 提供源代码托管、协作和CI/CD功能。适用于中小型企业和开发团队。 |
Subversion | SVN,企业里常见,集中式版本控制系统,适用于大型项目。强调对二进制文件的支持。 |
Perforce | 高度可扩展,适用于大规模项目和需要处理大量二进制文件的场景。 |
Fossil | 集成版本控制、问题跟踪和wiki功能。适用于小型项目和个人开发者。 |