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

18 小时 6 分钟前
 shendaowu

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

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

1775 次点击
所在节点    git
24 条回复
echo1937
17 小时 20 分钟前
没必要,你推送远程仓库以后,代码就有 2 份了,
n 个人参与开发,代码就有 n+1 份,
远超绝大部分其他数据的冗余度。
funcman
17 小时 10 分钟前
多仓库在 git lfs 这块比较麻烦
像我们搞 gamedev 的,有时间干脆一个项目拆成 git 和 svn
SingeeKing
17 小时 4 分钟前
我直接用 github ,然后家里跑一个 https://github.com/AkashRajpurohit/git-sync 备份(不但备份我自己的仓库,还备份了所有我 star 了的仓库)
realpg
16 小时 6 分钟前
有没有必要取决于这个项目的总管理会不会做策略, 以及是否给自己做例外, 玩不玩骚操作.
darkengine
15 小时 22 分钟前
要不 github 一份,搞个 NAS 用文件的形式再保存一份。
monkeyk
15 小时 15 分钟前
@echo1937 同意这观点。
unused
14 小时 52 分钟前
直接 remote add ,不要 remote set-url --add
imjiaoyuan
14 小时 47 分钟前
@SingeeKing 好东西
shendaowu
14 小时 42 分钟前
@unused #7 那个没法利用 VS Code 的图形界面的 push 吧?另外如果想一次 push 到全部远程仓库可能还要写一个脚本。
liuliuliuliu
14 小时 20 分钟前
我是自建一个 gitlab ,gitlab 有个镜像的功能,会自动镜像 github 的仓库
LnTrx
13 小时 50 分钟前
除非现有的“远程”仓库跟自己在同一房间/网络下,否则对于一般项目来说没必要
ck65
13 小时 39 分钟前
同 #10 我在自己的机器上跑了个 forgejo 手动把 GitHub 上的重要仓库都配上镜像,工作时只对 GitHub 操作,镜像是自动透明运行的。最后 forgejo 的数据和 db 也有定时备份。
skiy
13 小时 33 分钟前
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
12 小时 27 分钟前
没必要吧
Oxygen2025
12 小时 14 分钟前
压缩包加密,互联网网盘随便传
int80
8 小时 31 分钟前
自建 gitlab 镜像+1 ,同时每日定时脚本自动同步到 nas 备份
iomect
8 小时 15 分钟前
以前我也有数据焦虑
但实际情况是自建 git 硬盘挂了同时电脑报废了的概率都远大于 github 把你仓库丢了的概率
Belmode
5 小时 16 分钟前
因为默认的 upstream 源就是 origin ,你每次重置 origin 当然就覆盖了!
直接设置一个新名字,git remote add new_name https://xxx ,后面 push 到 new_name 就行了
git push new_name
Belmode
5 小时 14 分钟前
@Belmode #18 我自己写项目都是设置两个源,github 作为代码档案,gitee 作为 cicd 的源,因为国内很多云厂商服务器访问 github 都很困难,又不好在生产上用代理,就只好用这种方案了。
383394544
5 小时 11 分钟前
本地 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