代码有没有必要备份到多个远程仓库?比如 github 和 codeup。有必要的话最好怎么备份?

14 天前
 shendaowu

备份到远程仓库主要是为了防止代码丢失。多个我是怕一个远程仓库宕机能有其他的能用。有这些必要吗?我会定期备份到光盘和阿里云 WORM OSS 里。还有其他地方。我没找到 VS Code 的设置多个远程仓库的方便的方法,只能用命令行。

之前在别的地方问的时候有人说用 git remote set-url --add --push origin 仓库地址,谷歌英文搜了一下也基本都是这个命令。但是这个命令好像有点问题,如果最开始是通过 VS Code 的图形界面添加到 github 的私有仓库,那么第一次运行那个命令的时候会替换远程仓库,不是添加,第二次开始才是添加。这个问题不大吧?我没试最开始通过其他方式添加远程仓库会不会也这样。还有我看 remote 命令的 man 文档好像没有明确说这个命令的 --add 参数是用于什么情况的。有点不敢用。毕竟关系到代码的安全,不敢能用就凑合用。

3038 次点击
所在节点    git
26 条回复
echo1937
14 天前
没必要,你推送远程仓库以后,代码就有 2 份了,
n 个人参与开发,代码就有 n+1 份,
远超绝大部分其他数据的冗余度。
funcman
14 天前
多仓库在 git lfs 这块比较麻烦
像我们搞 gamedev 的,有时间干脆一个项目拆成 git 和 svn
SingeeKing
14 天前
我直接用 github ,然后家里跑一个 https://github.com/AkashRajpurohit/git-sync 备份(不但备份我自己的仓库,还备份了所有我 star 了的仓库)
realpg
14 天前
有没有必要取决于这个项目的总管理会不会做策略, 以及是否给自己做例外, 玩不玩骚操作.
darkengine
14 天前
要不 github 一份,搞个 NAS 用文件的形式再保存一份。
monkeyk
14 天前
@echo1937 同意这观点。
unused
14 天前
直接 remote add ,不要 remote set-url --add
imjiaoyuan
14 天前
@SingeeKing 好东西
shendaowu
14 天前
@unused #7 那个没法利用 VS Code 的图形界面的 push 吧?另外如果想一次 push 到全部远程仓库可能还要写一个脚本。
liuliuliuliu
14 天前
我是自建一个 gitlab ,gitlab 有个镜像的功能,会自动镜像 github 的仓库
LnTrx
14 天前
除非现有的“远程”仓库跟自己在同一房间/网络下,否则对于一般项目来说没必要
mogita
14 天前
同 #10 我在自己的机器上跑了个 forgejo 手动把 GitHub 上的重要仓库都配上镜像,工作时只对 GitHub 操作,镜像是自动透明运行的。最后 forgejo 的数据和 db 也有定时备份。
skiy
14 天前
1 、GitLab 有镜像功能

2 、 直接修改 .git/config (推时两个都推,拉是只从第一个拉)
(命令行方式添加:git remote set-url --add origin git@gitlab.com/org/repo.git )

[remote "origin"]
url = git@github.com/org/repo.git
url = git@gitlab.com/org/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
或添加多一个源
[remote "origin"]
url = git@github.com/org/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "gitlab"]
url = git@gitlab.com/org/repo.git
推送时用 git push gitlab main
billzhuang
14 天前
没必要吧
Oxygen2025
14 天前
压缩包加密,互联网网盘随便传
int80
14 天前
自建 gitlab 镜像+1 ,同时每日定时脚本自动同步到 nas 备份
iomect
14 天前
以前我也有数据焦虑
但实际情况是自建 git 硬盘挂了同时电脑报废了的概率都远大于 github 把你仓库丢了的概率
Belmode
14 天前
因为默认的 upstream 源就是 origin ,你每次重置 origin 当然就覆盖了!
直接设置一个新名字,git remote add new_name https://xxx ,后面 push 到 new_name 就行了
git push new_name
Belmode
14 天前
@Belmode #18 我自己写项目都是设置两个源,github 作为代码档案,gitee 作为 cicd 的源,因为国内很多云厂商服务器访问 github 都很困难,又不好在生产上用代理,就只好用这种方案了。
383394544
14 天前
本地 repo 存在 dropbox ,dropbox 目錄放在 onedrive 裡,這樣就有 dropbox 、onedrive 、遠程倉庫三份備份。你有 nas 還可以從 nas 定期拉取 dropbox 做異地災備

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

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

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

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

© 2021 V2EX