分享本周所学——在Windows上搭建自己的Git服务器并支持互联网远程访问

        大家好,欢迎来到《分享本周所学》第十期。本人是一名人工智能初学者(虽然我最近写的东西都跟人工智能没什么关系),刚刚上完大一。之前想跟同学搞项目,我的学校自己有一个GitLab服务器,于是就把项目存在上面,但是后来收到学校邮件说学校服务器不允许存放和课程无关的个人项目,于是我就把项目放到了外部的GitLab上面(也就是gitlab.com)。之后又发现GitLab的免费账户只有10GB的储存空间,根本不够用,而且升级账户死贵,其他的各种Git平台,比如GitHub、Gitee也都存在这个问题。那怎么办?只好自己动手了。

目录

一、Bonobo Git Server

1. 下载Bonobo Git Server

2. 配置服务器

2.1 启用Windows功能

2.2 配置网页

二、配置Git仓库

1. 登录

2. 用户管理

3. 全局设置

4. 仓库

三、远程访问Git仓库

1. 局域网远程访问

2. 外网远程访问

2.1 端口转发

2.2 Tailscale


上期文章链接:分享本周所学——Unreal Engine 5(虚幻引擎5)中使用C++开发的常见问题_RFdragon的博客-CSDN博客大家好,欢迎来到《分享本周所学》第九期。本人是一名人工智能初学者(虽然我最近写的东西都跟人工智能没什么关系),刚刚大一。我之前是有C++算法基础和UE4纯蓝图游戏开发基础,但是在尝试用C++开发UE的时候,感觉和这两者都有很大区别。我在学习的过程中也遇到了比较多的稀奇古怪的问题,所以想给大家分享一下这个过程,希望可以帮到大家。这篇文章主要是针对C++在UE5中的特定用法和UE5对C++作出的限制,而不是关于C++本身。这篇文章面向我这种能够理解C++的基础语法但刚刚接触UE5的新手。

https://blog.csdn.net/weixin_48978134/article/details/131038684


一、Bonobo Git Server

        Bonobo Git Server是一款开源免费而且非常轻量化的Git服务器搭建工具,而且它有一个非常友好的图形化界面。

1. 下载Bonobo Git Server

        我们可以在Bonobo Git Server的官网进行下载:Bonobo Git Server - Git Server for Windows

https://bonobogitserver.com/

a567636d44784a728d9d3a862a872f60.png

        下载好之后解压缩,里面有一个叫Bonobo.Git.Server的文件夹。把这个文件夹随便放在一个位置。我是放在了D:\Program Files\Bonobo.Git.Server,所以我之后会以这个路径为例,大家替换成自己的路径即可。

53ab1240b9a44787a0d313b7936ef1f4.png

2. 配置服务器

        下载完毕后,我们需要让Bonobo Git Server顺利运行。

2.1 启用Windows功能

        首先我们需要在Windows功能中启用.NET和Internet Information Services功能,这些功能默认是关闭的。

        首先打开控制面板,选择“程序”:

e4638d7579c74f1cb594c6bebb18d6e3.png

        选择“启用或关闭Windows功能”:

a3a9bde5a627484abac3f6455ad3b2ab.png

        打开这三个功能:

762f6f211270467082f65ae9069c3d47.png

        注意,这些功能在启用的时候默认只会启用其中一部分功能,所以你可能需要点击功能左侧的加号将功能展开,然后手动启用其中所有的功能,直到功能左侧的选择框中是一个对勾(“√”)而不是横杠(“-”)。

        选择之后点击确定,让Windows加载新打开的功能。

2.2 配置网页

        打开控制面板,选择“系统和安全”:

473fbccbbacc4f45a76ba19591cf94c6.png

        选择“Windows工具”:

2f97cb99c3ae4e4187bc9ad24cb9c9f1.png

        双击打开“Internet Information Services(IIS)管理器”:

3344f8a6cc124f09babe3046424504c2.png

        选择“添加网站”:

d9237c95e8cb4d70b502c8e6dcf5bb36.png

        随便选一个网站名称,比如“Git”,然后将物理路径设置为之前安装Bonobo Git Server的路径。端口的默认值是80,但是这里不太建议使用80,建议随便改成一个不常用而且没有被占用的端口。我这里填的是9418。其余位置不需要更改。

014356d3a06f471a8d3b1dcc56d02fe6.png

        点击确定。现在网站还差最后一步就配置好了。我们回到Internet Information Services(IIS)管理器的界面,点击“应用程序池”右键刚刚创建的网站,选择“高级设置”:

43ff48289eb44be28200e3592a45375e.png

        将“启用32位应用程序”设置为“True”:

58ff346416414352b7150db08e3f446b.png

        点击确定。现在,我们的网站就已经配置好了。在浏览器中输入“localhost:9418”即可打开网站。注意,这里的“9418”是我刚刚输入的端口号。如果你输入的端口号不是9418,那么需要替换成你自己的端口号。

二、配置Git仓库

        这部分内容用于介绍如何在Bonobo Git Server中配置Git仓库。

1. 登录

        打开刚刚创建的网页,你会看到一个这样的界面:

f8b7b1d5626644bc887b02dfe46d4cf1.png

        第一次打开的时候,你看到的界面应该是英文的,不过操作方式并没有区别。如果你想把语言设置长中文,可以在登录之后看这一章的第3节。登录的用户名和密码默认都是“admin”。登录后可以看到一个这样的界面:

3104248f3e5a40dd8701b73704756dc3.png

        页面下方是一个已有Git仓库的列表,这个列表在第一次登录还没有创建仓库之前应该是空的,所以如果你的页面和我的图片上显示的不一样是正常的。

2. 用户管理

        我们刚刚使用的是admin账户,也就是管理员账户。如果我们并不只是个人使用,而是需要一个团队共同使用一个Git仓库,我们就需要手动为每个使用者分别创建一个账户。而且,我们并不希望给予团队中每个成员相同的权限。显然我们不想让团队中的某个人把除了自己之外所有人的账号全都删掉。

        打开“用户”菜单:

0a5e25a7579c4285be2cc797fa125f7d.png

34e02ddfba454ecf93fee428c14ccb98.png

        你可以在这里看到已有的所有用户。你可以使用右上角的“创建新用户”来添加一个用户。创建完毕后,你需要将用户名和密码告知团队中的成员,并通知他们尽快修改密码,以免账户被其他人盗取。另外,你也可以在这个界面对每个人的信息进行编辑:

19042065099b418d87672453da98f408.png

        注意下方的“Administrator”选项。如果这一项被勾选,意味着用户可以像admin一样对其他用户进行编辑。如果你在创建一个账户后不希望他拥有管理员权限,请不要勾选这一项。另外,如果团队中的某个人忘记了自己的密码,你可以在编辑界面帮助他们重置密码。由于原始密码使用了SHA-256进行加密,所以即使是管理员也不能在这个界面看到用户的原始密码。用户设置的密码基本上是绝对安全的。

3. 全局设置

        你可以在菜单栏中的“全局设置”一项更改全局设置:

8d147b00eb3f4781989416fd0cdad94e.png

        这其中比较重要的只有一项,就是“库目录”。这一栏决定了所有Git仓库在你的电脑上储存的位置。除此之外,你可以在“语言”中将界面调成中文。你还可以自行配置网站的标题、标志并用CSS来美化网页。

4. 仓库

        你可以在主页创建一个新仓库:

72a7054826654a3d80634154b16fc8c4.png

        你需要在这里输入仓库的名称,并选择哪些用户可以使用或管理这个仓库。除此之外,你也可以给仓库添加一些描述或者给它一个标志,不过这些都可以忽略。

        创建好之后,你可以进入仓库主页:

b6ec55ed29f1473e93f63f29d49e528d.png

        你可以在“Git库位置”那里点击“复制”,这样就可以通过“git clone”来克隆这个仓库了。在“浏览库”界面中,你可以查看仓库中的所有分支和文件;在“提交”界面,你可以看到每个成员的每一次历史提交。 由于Bonobo Git Server比较轻量化,所以这上面的功能可能不是很全,比如说你没办法在这里添加新的分支。不过你还是可以在终端上用“git checkout -b”来创建新分支。

三、远程访问Git仓库

        这一部分内容是关于如何远程访问你创建的Git仓库的。

1. 局域网远程访问

        Bonobo Git Server在配置好之后,默认支持局域网远程访问。你需要做的就是查看一下自己的局域网IP地址。打开终端,输入以下命令:

ipconfig

        然后,在“Wireless LAN adapter WLAN”中找到“IPv4 Address”:

4015dce1da884efabc812739ceac99c9.png

        比如我当前的IPv4地址就是192.168.0.102。注意,这个地址有可能会随时间变化,如果你想保持自己的IP地址不变,需要在路由器进行设置,具体的设置方法取决于路由器的品牌和型号,大家可以查查自己的路由器怎么设置。

        查找到IP地址之后,就可以用同一局域网下的其他设备访问Git网页了。你需要在设备的浏览器中输入IP地址和端口号,其中端口号就是你刚刚在IIS管理器中设置的端口号。假设IP地址是192.168.0.102,端口号是9418,那么其他设备就可以通过在浏览器中访问“192.168.0.102:9418”来访问Git。

2. 外网远程访问

        如果两台设备不在同一局域网内,需要通过互联网来访问,那就比较麻烦了。这里提供两种方法:端口转发和Tailscale。

2.1 端口转发

        如果你有固定的公网IP或者域名,那你可以采用端口转发的方式。如果没有或者不确定自己有没有,那建议看2.2这节,用Tailscale的方式。

        端口转发具体的设置方法也是取决于你的路由器。我家的路由器是水星(Mercury),我就以它为例。

        你需要先打开路由器管理页面,网址一般是192.168.0.1或者192.168.1.1,如果都不是的话,你可能需要自己查一下自己家的路由器怎么设置。

        水星路由器的端口转发功能叫作“虚拟服务器”。对不同的路由器来说,这个功能的命名可能不太一样,你可以看看自己家服务器上有没有类似的功能。

        对于这个路由器的端口转发功能,我们在服务器类型中选择“HTTP”。外部端口可以随便选一个,但最好选一个不太常用的。内部端口是我们刚才在IIS管理器中输入的端口号。IP地址选择自己的局域网IP地址,协议类型选“TCP”。

dc6cdb24f8f54569b02272eb60aa23b8.png

        配置好了之后,建议重启一下路由器。这时候,我们就可以使用自己的域名或者公网IP来访问Git服务器了。假设我的公网IP是1.2.3.4,那么我就可以通过“1.2.3.4:9418”来访问我的Git服务器。注意,这里的“9418”不是我们在IIS管理器上配置的端口号,而是刚刚在端口转发界面配置的端口号。

2.2 Tailscale

        Tailscale是一款用于私人组网的工具,安全性和性能都非常高。我们可以在官网进行配置:Tailscale · Best VPN Service for Secure Networks

https://tailscale.com/

        点击“Get started for free”,然后根据页面的提示注册一个账号。之后,我们在所有需要远程访问Git服务器的设备上下载Tailscale的客户端,然后将它们全部登录到刚刚注册的Tailscale账号上。这样就可以把所有这些设备远程连接起来。你可以理解为Tailscale将这些设备组成了一个虚拟的局域网。

        进入Tailscale的设备管理界面,然后查看“ADDRESSES”这栏。找到运行Git服务器的设备的IP地址。

ada8ba7808014e2685baf258cfd0c641.png

        之后就可以将这个IP地址当作一个局域网IP来使用了。假设查到的IP地址是1.2.3.4,那么列表中的任何一个设备就可以用1.2.3.4:9418来访问Git服务器。

原文地址:https://blog.csdn.net/weixin_48978134/article/details/131877763

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作中,很多时候我们经常会使用到虚拟机来进行环境的测试,我们平时在虚拟机上接触的最多的莫过于Linux和Winwdos。不过虚拟机环境和物理机环境是无法直接传输的,那么有的时候呢,同学们又想要在两者之间相互传输文件,可能就会使用QQ邮箱等形式来传输,这样的效率又慢而且繁琐,今天我就为大家带来一种非常便捷的传输方式。通过XFTP工具来进行文件传输。_xftp连接windows
文章浏览阅读1k次。解决 Windows make command not found 和 安装 GCC 环境_windows下载gcc
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计算机配置“ - ”管理模板“ - ”网络“ - ”Lanman工作站”,点击右侧的“启用不安全的来宾登录”策略。Windows访问samba共享时,提示“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问”1、键盘按下window+R键,输入gpedit.msc,启动本地组策略编辑器。首先在终端中输入sudo ufw status查看当前防火墙状态。默认状态是“未配置”,修改为“已启用”。示例:创建一个narada的目录在/home下。1.更新apt储存库列表。_ubuntu samba 目标文件夹访问被拒绝
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是Blu-ray Disc,一种高清的电影版本,这种电影十分清晰但是数据量巨大,占数十G甚至上百G的容量,只有蓝光光碟才能装得下,所以这种高清电影被称为BD版。一般的高清电影多半是从蓝光电影、国外的高清电视频道上压制而来的,可以通过网络下载,多数都经过二次压缩,画质要逊于原视频,不过压缩后的容量从蓝光的25G-50G会减少成4G-8G等(15G-20G不等)。众所周知,视频有两种常见的清晰度,BD和HD,在看电影的时候最常出现这两个标志,那么BD和HD具体指的是什么呢?_bd hd
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,因为它允许直接访问当前元素,而不需要类型转换。接口,它可以提供一个迭代器,用于按顺序访问集合中的元素。接口是只读的,它只能支持前向迭代,不能修改集合中的元素。类型的集合实例,并向其中添加了几个元素。接口,可以创建一个能够迭代访问泛型集合中元素的迭代器。接口,我们可以在 C# 中实现可迭代的集合,并使用。循环和迭代器手动遍历集合,并输出每个元素的值。接口表示一个可枚举的集合,它定义了一个方法。属性,用于获取集合中当前位置的元素。存储集合中的元素,并实现了。的泛型集合类,它实现了。
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的remove方法则会正常,因为iterator的remove方法会在内部调用List的remove方法,但是会修改excepedModCount的值,因此会正常运行。因为遍历过程中进行remove 操作时,该位置后面的元素会挤到前面来,这时候会发生一种情况就是原来元素的位置会被他后面的元素取代,而该位置已经遍历过了,所以该元素不会背遍历。当我们倒序遍历元素的时候,无论删除元素之后的元素怎么移动,之前的元素对应的索引(index)是不会发生变化的,所以在删除元素的时候不会发生问题。_list删除某个元素
文章浏览阅读2.9w次,点赞45次,收藏192次。Windows下配置Visual Studio _vs2022环境变量配置
文章浏览阅读7w次,点赞162次,收藏778次。pip 是Python包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能,目前Python 3.4 和 2.7 及以上版本都有配套安装,一般pip的位置在...pythonScripts文件夹里面,而在其他版本需要自行下载。_python pip install安装
文章浏览阅读5.8k次,点赞2次,收藏12次。①此电脑右击----->选择属性----->高级系统设置----->环境变量----->path----->编辑----->新建。第一个选项意思就是将安装路径填入到系统环境变量中,这里勾选,后面使用可能会出现问题,建议不要勾选,安装好之后手动添加环境变量。注意:如果提示conda不是内部或外部命令,原因是Anaconda的环境变量没配置好。如果不想立即打开anaconda,不勾选直接finish就好。②输入 conda --version ,查看conda环境。②直接按win键,搜索“环境变量”_windows安装anaconda
文章浏览阅读5.1k次,点赞8次,收藏55次。Windows 系统从零配置 Python 环境,安装CUDA、CUDNN、PyTorch 详细教程_windows cuda cudnn配置
文章浏览阅读1.5w次,点赞54次,收藏68次。macOS系统自带有VNC远程桌面,我们可以在控制端上安装配置VNC客户端,以此来实现远程控制macOS。但通常需要在不同网络下进行远程控制,为此,我们可以在macOS被控端上使用cpolar做内网穿透,映射VNC默认端口5900,通过所生成的公网地址,来实现在公网环境下远程控制VNC。_vnc mac
文章浏览阅读2.4k次,点赞5次,收藏11次。进入后根据自己的电脑系统下载,这是python 3.10版本下载地址,如果想要下载其它版本可进入此链接(下载完成后点击进行安装点击下一步,到这一步时,可以选择将Anaconda添加我的PATH环境变量中,这样就不用自己手动配置和环境变量。安装完成后,打开终端,输出 python 命令可查看是否安装成功。如果显示自己刚才安装的版本号说明安装成功。查看conda版本命令:conda info。_paddlespeech下载
文章浏览阅读3.3k次。所以如果要删除之前新增的课程编译原理,只需输入命令del Course:8:Cname,同时还应该把本课程的学分删除del Course:8:Ccredit,如下图所示;Redis并没有修改数据的命令,所以如果在Redis中要修改一条数据,只能在使用set命令时,使用同样的键值,然后用新的value值来覆盖旧的数据。先调用get命令,输出原先的值,然后set新的值,最后再get得到新值,所以修改成功。输入命令后没有报错,表示成功了,刷新windows的服务,多了一个redis服务。_redis windows服务
文章浏览阅读2.1w次,点赞9次,收藏56次。​​接着在【工作负荷】中,选择【使用C++桌面开发】 ,右边【安装详细信息】去除其它可选项,只勾选【MSVCv142 】和 【Windows 10 SDK】,按图示修改,然后右下角点击安装,之后会有提示让你重启电脑。重启电脑之后,再进行pip安装。报错原因是pip所安装的包需要使用C++编译后才能够正常安装,但是当前安装环境中缺少完整的C++编译环境,因此安装失败。3.安装Microsoft Visual C++ Build Tool离线安装包(1个多G),CSDN资源很多,需要积分下载,_error: microsoft visual c++ 14.0 or greater is required. get it with "micros
文章浏览阅读1.1w次,点赞3次,收藏7次。Step 3: 在右侧窗口中找到名称为“LongPathsEnabled”的“DWORD (32 位) 值”条目,并双击它。通过注册表方法或组策略方法启用长路径支持后,您将能够在 Windows 中使用长路径,并能够访问和处理长路径下的文件和文件夹。Step 2: 依次选择“计算机配置” > “管理模板” > “系统” > “文件资源管理器”。Step 3: 找到“启用 Win32 长路径”设置,双击它。Step 4: 选择“已启用”选项按钮,然后选择“应用”按钮。_windows长路径支持
文章浏览阅读2.5k次,点赞81次,收藏86次。
文章浏览阅读1.3k次,点赞65次,收藏50次。顺序表,链表,栈,队列,ArrayList,LinkedList,Stack,Queue
文章浏览阅读2.3k次,点赞2次,收藏2次。AnyTXTSearcher是一款能够帮助我们对文档以及文本内容进行快速搜索和管理的工具,通过该软件能够搜索各种Office文档,文本文件,代码,PDF文档等,顶级的全文搜索引擎1秒钟之内即可完成搜索。_anytxt searcher
文章浏览阅读8.8k次,点赞73次,收藏70次。有时,在删除/移动/重命名文件夹/文件时,会遇到如下警告,即使将打开的程序关闭了,后台也可能会有没关干净的相关进程。_解除占用
文章浏览阅读4.3w次,点赞91次,收藏102次。JDK(Java Development Kit)是Java开发工具包的缩写,包含了Java编译器、Java虚拟机、Java类库等众多组件,是Java开发的基石,提供了编写、编译和运行Java程序所必需的工具。同时,为了让系统能够正确识别Java环境,在开始使用JDK进行Java开发之前,需要先把JDK安装到本地计算机,并配置好相应的环境变量。本文将介绍JDK安装与环境变量配置的方法。_windows安装jdk并配置环境变量