在日常编码时,我常常会有将代码保存到云端的需求,因此我选择将 Git 安装在我的 云服务器上,通过在服务器上搭建 GitBlit 服务,配合本地使用 TortoiseGit 上传代码,实现跨设备的云端代码版本管理。本篇文章将介绍如何在云服务器上搭建?Git 代码库,实现跨设备的代码版本控制。
目录
首先,在服务器上安装 Java Development Kit(JDK)。
可以参考我之前写的文章:怎样在Windows系统下载安装JDK
浏览器访问下载地址:Gitblit,选择 Windows 版本下载。
下载完成后解压压缩包,存储在C盘,我这边的存储路径是 C://Git1.9.3。
创建一个文件夹用于存储仓库,例如:C://Git_Repository。为这个文件夹赋予读写全权限。
编辑解压后文件夹内的 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
编辑 installService.cmd 批处理文件
Ⅰ. 修改 ARCH
SET ARCH=amd64 //64位系统
/*SET ARCH=X86 //若为32位系统*/
Ⅱ. 添加 CD
SET CD=C:\Git1.9.3 //这里CD的值是我们GitBlit的文件夹路径
Ⅲ. 修改 StartParams 启动参数
--StartParams="" ^ //参数设置为空
运行 gitblit.cmd 批处理文件,测试是否可以正常启动。
如果闪退就是报错了,异常信息可以在 logs 文件夹里看到。
运行 GitBlit 服务。
访问我们的 GitBlit 的端口可以看到可视化界面。验证 GitBlit 服务是否正常运行。
点击新建仓库,选择仓库所属用户,输入仓库名称、描述,选择仓库权限和是否允许 forks。
后面我们提交的代码就会上传到这里来。
下载地址: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 代码都要的密码验证了。
Ⅰ. 本地新建一个文件夹,作为后续持续发布到 GitBlit 上的仓库文件夹;
Ⅱ. 新建好之后,我们在文件夹内部右键选择【Git克隆】;
Ⅲ. 克隆的弹窗里会要我们输入仓库地址,地址在我们搭建的 GitBlit 的网站里可以找到。
访问我们刚刚搭建的 GitBlit 服务网站,复制 repository url 。
Ⅳ. 拉完之后我们可以看到服务器上 GitBlit 仓库的文件被下载了下来,包括:
README.md 文件(文本文件,可以写备注和项目介绍在上面)
.git 的隐藏文件(Git 的项目文件,后面要删除本地仓库只需要删除这个文件);
gitignore 文件(配置文件,里面记录的是需要在提交代码时被忽略的成分,比如 Release/Debug 产生的文件等);
点击 Git 提交 (commit),我这里是新文件所以直接提交到主线。
提交成功后,可以在服务器的 GitBlit 仓库文件夹和 GitBlit 网站上浏览上传的项目文件。
通过这些步骤,我们成功在建立了 GitBlit 云端代码库,实现了跨设备的云端代码版本管理。
除了 GitBlit,还有很多常见的代码版本管理工具。以下是一些工具的列举:
工具名称 | 工具特色 |
---|---|
GitBlit | 轻量级的Git服务,适用于小型团队和个人使用。注重简单性和易用性。 |
GitLab | 提供完整的CI/CD功能,支持DevOps实践。自托管版本提供更多自定义选项。 |
GitHub | 社交编程平台,拥有庞大的开发者社区。对开源项目友好,提供丰富的社交和协作功能。 |
Mercurial | 简单易用,适用于小型到中型项目。注重性能和易用性。 |
Bitbucket | 提供源代码托管、协作和CI/CD功能。适用于中小型企业和开发团队。 |
Subversion | SVN,企业里常见,集中式版本控制系统,适用于大型项目。强调对二进制文件的支持。 |
Perforce | 高度可扩展,适用于大规模项目和需要处理大量二进制文件的场景。 |
Fossil | 集成版本控制、问题跟踪和wiki功能。适用于小型项目和个人开发者。 |