V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
shendaowu
V2EX  ›  git

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

  •  
  •   shendaowu · 14 小时 42 分钟前 · 1611 次点击

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

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

    21 条回复    2025-09-06 21:16:28 +08:00
    echo1937
        1
    echo1937  
       13 小时 56 分钟前   ❤️ 4
    没必要,你推送远程仓库以后,代码就有 2 份了,
    n 个人参与开发,代码就有 n+1 份,
    远超绝大部分其他数据的冗余度。
    funcman
        2
    funcman  
       13 小时 47 分钟前   ❤️ 2
    多仓库在 git lfs 这块比较麻烦
    像我们搞 gamedev 的,有时间干脆一个项目拆成 git 和 svn
    SingeeKing
        3
    SingeeKing  
       13 小时 41 分钟前 via iPhone   ❤️ 2
    我直接用 github ,然后家里跑一个 https://github.com/AkashRajpurohit/git-sync 备份(不但备份我自己的仓库,还备份了所有我 star 了的仓库)
    realpg
        4
    realpg  
    PRO
       12 小时 43 分钟前   ❤️ 1
    有没有必要取决于这个项目的总管理会不会做策略, 以及是否给自己做例外, 玩不玩骚操作.
    darkengine
        5
    darkengine  
       11 小时 58 分钟前   ❤️ 1
    要不 github 一份,搞个 NAS 用文件的形式再保存一份。
    monkeyk
        6
    monkeyk  
       11 小时 51 分钟前   ❤️ 1
    @echo1937 同意这观点。
    unused
        7
    unused  
       11 小时 28 分钟前 via Android   ❤️ 1
    直接 remote add ,不要 remote set-url --add
    imjiaoyuan
        8
    imjiaoyuan  
       11 小时 23 分钟前   ❤️ 1
    @SingeeKing 好东西
    shendaowu
        9
    shendaowu  
    OP
       11 小时 18 分钟前
    @unused #7 那个没法利用 VS Code 的图形界面的 push 吧?另外如果想一次 push 到全部远程仓库可能还要写一个脚本。
    liuliuliuliu
        10
    liuliuliuliu  
    PRO
       10 小时 57 分钟前   ❤️ 3
    我是自建一个 gitlab ,gitlab 有个镜像的功能,会自动镜像 github 的仓库
    LnTrx
        11
    LnTrx  
       10 小时 26 分钟前   ❤️ 1
    除非现有的“远程”仓库跟自己在同一房间/网络下,否则对于一般项目来说没必要
    ck65
        12
    ck65  
       10 小时 15 分钟前 via iPhone   ❤️ 1
    同 #10 我在自己的机器上跑了个 forgejo 手动把 GitHub 上的重要仓库都配上镜像,工作时只对 GitHub 操作,镜像是自动透明运行的。最后 forgejo 的数据和 db 也有定时备份。
    skiy
        13
    skiy  
       10 小时 10 分钟前   ❤️ 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  
       9 小时 3 分钟前 via iPhone   ❤️ 1
    没必要吧
    Oxygen2025
        15
    Oxygen2025  
       8 小时 50 分钟前 via Android   ❤️ 1
    压缩包加密,互联网网盘随便传
    int80
        16
    int80  
       5 小时 8 分钟前 via Android   ❤️ 1
    自建 gitlab 镜像+1 ,同时每日定时脚本自动同步到 nas 备份
    iomect
        17
    iomect  
       4 小时 51 分钟前   ❤️ 1
    以前我也有数据焦虑
    但实际情况是自建 git 硬盘挂了同时电脑报废了的概率都远大于 github 把你仓库丢了的概率
    Belmode
        18
    Belmode  
       1 小时 52 分钟前
    因为默认的 upstream 源就是 origin ,你每次重置 origin 当然就覆盖了!
    直接设置一个新名字,git remote add new_name https://xxx ,后面 push 到 new_name 就行了
    git push new_name
    Belmode
        19
    Belmode  
       1 小时 51 分钟前   ❤️ 1
    @Belmode #18 我自己写项目都是设置两个源,github 作为代码档案,gitee 作为 cicd 的源,因为国内很多云厂商服务器访问 github 都很困难,又不好在生产上用代理,就只好用这种方案了。
    383394544
        20
    383394544  
       1 小时 47 分钟前 via iPhone
    本地 repo 存在 dropbox ,dropbox 目錄放在 onedrive 裡,這樣就有 dropbox 、onedrive 、遠程倉庫三份備份。你有 nas 還可以從 nas 定期拉取 dropbox 做異地災備
    soulflysimple123
        21
    soulflysimple123  
       1 小时 36 分钟前
    idea 打开,git - Manage Remotes 弹出窗口 点加号,配置另个 git 地址
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2694 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:52 · PVG 22:52 · LAX 07:52 · JFK 10:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.