自建 git 服务器能否连接 github

2023-04-25 20:32:23 +08:00
 MasterCai

问题是这样的:在一个局域网内有多台设备,我想在局域网内自建一个 git 服务器(这个用什么都无所谓),用于在局域网内统一同步和管理这些设备上的代码,这个很好实现。

但是能不能让这个 git 服务器和 github 相连接,可以定期同步代码上去呢?

目前用 gitlab 搭了一个,本地功能正常,但是无法上传 github ,有没有什么解决方案?(不用 gitlab 也可以)

图片可能表达的更清晰一点:

https://imgur.com/a/9PhyGxC

4449 次点击
所在节点    程序员
29 条回复
shunia
2023-04-25 20:37:04 +08:00
gitea ,可设置自动同步至所有公共代码平台
0o0O0o0O0o
2023-04-25 20:39:50 +08:00
你可以通过 git remote set-url --add origin <github> 来同时额外 push 到 Github
IvanLi127
2023-04-25 20:39:59 +08:00
可以,楼上说得对,我现在就是本地 gitea ,定期推代码到 github 上。
MasterCai
2023-04-25 20:42:34 +08:00
@shunia 感谢,这个还真没了解过,去看一下
@IvanLi127 感谢

@0o0O0o0O0o 这个我知道,就是想用一个服务器集中管理
debuggerx
2023-04-25 23:14:53 +08:00
gitlab 有设置镜像的选项 所有提交都可以自动镜像到 gh
Scirocco
2023-04-26 00:18:20 +08:00
@debuggerx 这个好像是 EE 版本,免费的 CE 版不行
tinyint00
2023-04-26 08:31:10 +08:00
- 每个仓库建立一个脚本分支
- 起一个服务用于定时调用
- 服务定时 `rebase` 你需要同步的分支
- 服务定时 推送 `rebase` 过来的分支到指定 git 平台

本质上就是一个定时脚本能够解决。
或者更极端点,用钩子去触发你的脚本。配置远程平台当成镜像
skiy
2023-04-26 08:34:25 +08:00
gitlab 仓库中的镜像设置可以设置“推”或“拉”
NouveauNom
2023-04-26 08:57:00 +08:00
7L 说的对。用脚本。
wjx0912
2023-04-26 08:58:56 +08:00
脚本来了

git clone --bare http:*//....(原始仓库地址)*

cd project.git ( project 即为你的项目名称)

git push --mirror http:*//...(目标仓库地址)*
Sum0l
2023-04-26 09:28:23 +08:00
楼上的脚本言简意赅,甚为实用
artnowben
2023-04-26 09:32:44 +08:00
不如直接用 github ,或者 gitlab 吧;简单一点,让生活轻松一点。
debuggerx
2023-04-26 10:15:09 +08:00
@Scirocco https://docs.gitlab.com/ee/user/project/repository/mirror/push.html#set-up-a-push-mirror-from-gitlab-to-github

我是直接用 pve 的 CT 模板装的 gitlab-ce ,这个功能一直好用的
MasterCai
2023-04-26 10:32:30 +08:00
@debuggerx
@skiy ce 版本只能 push

@tinyint00
@wjx0912 这个方法有意思,学到了
debuggerx
2023-04-26 10:42:15 +08:00
@MasterCai 所以你需要的是 gitlab 定期同步来自 github 的提交?双向同步?

如果是主用 gitlab ,github 只做备份用,测的 push mirror 完全就够了啊
Scirocco
2023-04-26 11:09:42 +08:00
@debuggerx 记错了记错了,确实是可以 push 的
pota
2023-04-26 11:37:29 +08:00
之前是 gitea 配和 drone CI 自动同步的,现在发现 gitea 自带了😂 方便了很多
Morii
2023-04-26 11:38:44 +08:00
如果不想引入其他依赖,还是定时脚本来的简单
MasterCai
2023-04-26 11:38:57 +08:00
@debuggerx 是想实现双向同步,但是好像不行;目前用 gitlab 确实挺好的,但是内存占用太大了
debuggerx
2023-04-26 11:46:03 +08:00
@MasterCai gitlab 到 github 就是 mirror push 功能,github 到 gitlab 就用 action ,比如 https://github.com/pixta-dev/repository-mirroring-action

这样不就双向同步了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/935462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX