大家好,我是秋风,最近很多开源项目让一个本该纯粹的地方混入了政治色彩。例如 Node 还有 React 这些超明星级的项目。

目前来看 React 的issues 已经沦陷了,大家都在反对一个原本纯粹的地方为什么会有了政治?

如果说开源项目涉及了政治,那么github 还会远吗,我不得而知。为了避免造成不必要的损失,因此连夜把自己github 上的项目都同步一份到了 gitee,并且写下了这一份指南。

因此我也建议大家未雨绸缪,对自己的github账户进行备份,不管一切,不能让我们本应该有的权益受到损失。

同步主要分为现有仓库同步以及未来代码同步两个部分。

现有仓库同步

这一步其实 gitee 官网已经集成了一键导入的功能。

详情:https://gitee.com/help/articles/4284

一共分为3个步骤:

1.从 + 号找到 从 Github/Gitlab导入仓库

2.授权 gitee github 权限

3.授权后可以看到这样一个 tab 页面选项,我们选择 导入当前页面所有仓库

gitee 就会自动帮我们导入在 github 的项目,等待一些时间就好。

导入完成之后,所有的项目都是私有权限,因此也不用担心自己原本在 gihtub 上的私有仓库权限泄漏。

未来代码的同步

虽然我们已经把现有的仓库全部同步到了gitee ,但是我们本地仓库的源还是 github 的,因此还需要对这部分未来增量代码做处理。

方案一:增加 remote 源

这个方案其实很简单,很多同学在提交开源项目,想要合入开源项目最新代码的时候肯定用到过。

git remote add <name> <url>

一共分为 2个步骤:

1.在你原来的 github 仓库下添加远端仓库

例如:git remote add gitee ``[git@github.com](mailto:git@github.com)``:hua1995116/mmt.git

添加后可以看到这样的:

2.提交当前的增量代码

git push origin   // 提交到 github
git push gitee    // 提交到 gitee

而这种方式有一个缺点就是每次需要提交两次。

方案二:增加 push 源

1.删除方法一的 gitee 源 (还没有操作方案一的忽略这个步骤)

git remote rm gitee

2.添加 push 源

git remote set-url --add origin git@github.com:hua1995116/mmt.git

3.提交代码

git push origin

为了省去第二步繁琐,我配置了一个脚本能够快速添加。(前提是你的gihtub 账户名字和 gitee 的账户名字是一样的

npm i -g mmt
mmt import https://gitee.com/hua1995116/mmt-practices/raw/master/mmt-export-gitee.json
// 进入到你想要添加命令的目录
mmt run gitee // 每个原有 github 仓库无脑运行这个命令就可以

效果:

方案三: 使用github action

此方案一共2个步骤

1.在仓库根目录创建 .github/workflows 目录

2.创建 gitee-sync.yml

# 通过 Github actions, 在 Github 仓库的每一次 commit 后自动同步到 Gitee 上
name: gitee-sync
on:push:branches:- master
jobs:repo-sync:env:dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}dst_token: ${{ secrets.GITEE_TOKEN }}gitee_user: ${{ secrets.GITEE_USER }}runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2with:persist-credentials: false- name: sync github -> giteeuses: Yikun/hub-mirror-action@masterif: env.dst_key && env.dst_token && env.gitee_userwith:# 必选,需要同步的 Github 用户(源)src: 'github/${{ github.repository_owner }}'# 必选,需要同步到的 Gitee 用户(目的)dst: 'gitee/${{ secrets.GITEE_USER }}'# 必选,Gitee公钥对应的私钥,https://gitee.com/profile/sshkeysdst_key: ${{ secrets.GITEE_PRIVATE_KEY }}# 必选,Gitee对应的用于创建仓库的token,https://gitee.com/profile/personal_access_tokensdst_token:  ${{ secrets.GITEE_TOKEN }}# 如果是组织,指定组织即可,默认为用户 user# account_type: org# 直接取当前项目的仓库名static_list: ${{ github.event.repository.name }}# 还有黑、白名单,静态名单机制,可以用于更新某些指定库# static_list: 'repo_name,repo_name2'# black_list: 'repo_name,repo_name2'# white_list: 'repo_name,repo_name2'

3.在 Github 需要同步的仓库上添加 3 个 secrets: (Setting -> Secrets -> New repository secret)

  • GITEE_USER, 例如我的 gitee hua1995116
  • GITEE_PRIVATE_KEY,获取方法(如果已有,直接设置) - Gitee公钥对应的私钥
    • 新建 private key 方法:
    • 生成 SSH 公钥
    • 将 SSH 公钥添加到 Gitee 公钥
    • 同时将公钥添加到 Github 项目的 secrets 中;
  • GITEE_TOKEN,获取方法 - Gitee对应的用于创建仓库的token
    新建 token 方法:

    • 点击上面的链接并登录 Gitee, 点击“生成新令牌”,
    • 添加描述,比如用处 - Github 仓库同步到 Gitee;
    • 权限默认全选,点击提交,显示出生成的 token 值;(注意保存,需要填到 Github 的 secrets 中)

最后后续所有提交,可以利用 github action 自动同步。

方案一 方案二 方案三
优点 1.配置简单
2.能够控制提交源
1.配置简单
2.提交简单
1.配置繁琐
2.提交和原来无异
缺点 需要提交两次 无法控制 github action 被制裁了就gg
评星 ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️

在我写完本文的时候事情也有了一些发酵,我看到 3-2 的时候github 发布了声明依旧会无国界地提供服务。

https://github.blog/2022-03-02-our-response-to-the-war-in-ukraine/

但是在这次事件还有人被封了号

所以,

备份数据很重要!

备份数据很重要!

备份数据很重要!

明天和意外哪个会先降临我们不知道,但是我们要做的尽可能的未雨绸缪!

最后感谢你的阅读,请转给需要的人。

结语

❤️关注+点赞+收藏+评论+转发❤️,原创不易,鼓励笔者创作更好的文章

关注公众号秋风的笔记,一个专注于前端面试、工程化、开源的前端公众号

万一 Github不让用了,Gitee同步指南请收好相关推荐

  1. 春招已近,这份GitHub万星的ML算法面试大全请收下

    春季到来,春招不久也会开始.在本项目中,作者为大家准备了 ML 算法工程师面试指南,它提供了完整的面试知识点.编程题及题解.各科技公司的面试题锦等内容.目前该 GitHub 项目已经有 1 万+的收藏 ...

  2. 图解机器学习 github_使用Github和Cloudflare建立网站的图解指南

    图解机器学习 github by Karan Thakkar 由Karan Thakkar 使用GitHub和Cloudflare建立网站的插图指南 (An illustrated guide to ...

  3. 钉钉如何调整组织架构_钉钉组织架构与员工同步指南

    钉钉组织架构与员工同步指南 最后更新于:2019-11-12 22:08:13 一.i人事 二.钉钉 三.组织架构同步步骤 点击"企业账户",选择"企业设置", ...

  4. GitHub 上这个「计算机科学」自学指南火了!

    公众号关注 "GitHubPorn" 设为 "星标",每天带你逛 GitHub! 作者:Ozan Onay.Myles Byrne 译者:Keith Null ...

  5. GitHub标星8W,Google面试指南

    作为全球最顶尖的互联网公司,进入Google工作一直是很多工程师的梦想,自 1996 年诞生以来,Google 至今已推出多款改变世界的互联网产品,旗下也汇聚了一大批优质的工程师与科学家. 与此同时, ...

  6. Gitee同步GitHub仓库如何操作

    最近,许多开发者在进行私有仓库同步时,会发现无法在 Gitee 通过同步功能拉取 GitHub 上的代码,产生该问题的原因是 GitHub 从 2021 年 8 月 14 日后,使用 Git 对 Gi ...

  7. Windows下配置Git连接上github, 并将本地文件夹同步(加入了个人注释)

    默认条件: 安装好了Git (在虚拟环境/相关环境下,打出git进行检验) 拥有Github账号 1. 检查本机是否有ssh key设置,打开Git bash客户端(就是powershell): $ ...

  8. 一招搞定GitHub下载加速!通过gitee下载

    一个痛点 众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,包括我之前推荐的诸多优秀的开源项目全部都是位于GitHub上. 但是每当我们看到优秀的开源项目,准备去**下(ba ...

  9. GitHub教程 仓库的创建、同步、删除

    本文你可以看到: 在网页上进行建立删除 在GitHub Desktop上操作 在网页上直接操作 新建 打开github右上角,点击new repository repositories n. 仓库; ...

最新文章

  1. 从windows到linux的换行转换工具dos2unix
  2. optee内存管理和页表建立
  3. 通过ngrok在内网捕获meterpreter反弹
  4. Winform中自定义ZedGraph右键复制成功后的提示
  5. 阿呆做网站(3)--建数据库
  6. jQuery Validate 提交表单验证失败扩展方法
  7. mysql insert锁机制
  8. 悖论:早期互联网项目,是否需要技术含量?
  9. oracle数据导入sqlldr小例子
  10. mfc检测一个目录是否产生新文件_细数Java8中那些让人纵享丝滑的文件操作
  11. wamp 配置 mysql_PHPWAMP配置应该如何修改,Web服务器、php、mysql的具体配置修改
  12. 8183微型计算机,佳木斯大学12年微机原理复习题..doc
  13. 麒麟系统stty测试串口
  14. 史上最全Plastic SCM - Unity版本控制工具使用经验分享
  15. 树莓派linux led字符设备驱动( linux自带)
  16. 韩寒首度回应小三事件:望女友妻子和平相处_陕西频道_凤凰网
  17. 剪辑师的基本素养--了解四种特写类型
  18. 别把自己当作“千里马”,“笨鸟”先飞才是硬道理。
  19. 【PPic】基于Electron+Vue+iView的图床应用设计
  20. 内存管理(15)——UI(20)——DeleteObject

热门文章

  1. 北太平洋西部热带气旋快速增强的上层海洋热含量和海面温度的探索性分析
  2. 聊聊微信小程序开发中的appid、openid、unionid
  3. 迪文触摸串口屏 实例应用(1)——安装编译和下载
  4. 解决Office 2010打开文件提示“文件已损坏,无法打开。”的问题
  5. cctype头文件 cstring头文件
  6. Python函数引用
  7. Springboot实现语音听写转文字功能
  8. ESP32+dht11/sht30测温湿度(arduino编程)
  9. 【转】反洗钱系统总结
  10. 通达OA 合同管理组件