代码有没有必要备份到多个远程仓库?比如 github 和 codeup。有必要的话最好怎么备份? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
shendaowu
V2EX    git

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

  •  
  •   shendaowu 33 天前 3315 次点击
    这是一个创建于 33 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    [remote "origin"]
    url = [email protected]/org/repo.git
    url = [email protected]/org/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    或添加多一个源
    [remote "origin"]
    url = [email protected]/org/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    [remote "gitlab"]
    url = [email protected]/org/repo.git
    推送时用 git push gitlab main
    billzhuang
        14
    billzhuang  
       33 天前 via iPhone   1
    没必要吧
    Oxygen2025
        15
    Oxygen2025  
       33 天前 via Android   1
    压缩包加密,互联网网盘随便传
    int80
        16
    int80  
       33 天前 via Android   1
    自建 gitlab 镜像+1 ,同时每日定时脚本自动同步到 nas 备份
    iomect
        17
    iomect  
       33 天前   1
    以前我也有数据焦虑
    但实际情况是自建 git 硬盘挂了同时电脑报废了的概率都远大于 github 把你仓库丢了的概率
    Belmode
        18
    Belode  
       32 天前   1
    因为默认的 upstream 源就是 origin ,你每次重置 origin 当然就覆盖了!
    直接设置一个新名字,git remote add new_name https://xxx ,后面 push 到 new_name 就行了
    git push new_name
    Belmode
        19
    Belmode  
       32 天前   2
    @Belmode #18 我自己写项目都是设置两个源,github 作为代码档案,gitee 作为 cicd 的源,因为国内很多云厂商服务器访问 github 都很困难,又不好在生产上用代理,就只好用这种方案了。
    383394544
        20
    383394544  
       32 天前 via iPhone   1
    本地 repo 存在 dropbox ,dropbox 目放在 onedrive ,就有 dropbox 、onedrive 、程三份份。你有 nas 可以 nas 定期拉取 dropbox 做地
    soulflysimple123
        21
    soulflysimple123  
       32 天前   1
    idea 打开,git - Manage Remotes 弹出窗口 点加号,配置另个 git 地址
    loading
        22
    loading  
       32 天前 via Android   2
    @SingeeKing 我也是用类似的脚本,定期 nas 自动备份自己的 github 。

    不记得是哪一年,github 把识别出的哪个国家的账号全封了,真吓人。
    FrankAdler
        23
    FrankAdler  
       32 天前 via Android   1
    我安装了一个 gitea ,设置了自动备份镜像一些仓库
    ETiV
        24
    ETiV  
       32 天前 via iPhone   1
    建议先把 allow force push 关了再谈论这些…
    loading
        25
    loading  
       32 天前 via Android   1
    @loading
    好像是这个事。

    https://www.oschina.net/news_beta/125752

    引用 zorm 作者的一句话:
    开源没有国界,开发者却有自己的祖国.
    jipfqf
        26
    jipfqf  
       31 天前   1
    有必要,我的代码提交到 gitee 了,本地换电脑代码也没留,然后 gitee 因为广告给我账号封了,代码没了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2992 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 11:39 PVG 19:39 LAX 04:39 JFK 07:39
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86