执念e1 发表于 2022-4-9 17:03:59

万一 Github 不让用了...(未雨绸缪,轻喷)

大家好,我是 执念,最近很多开源项目让一个本该纯粹的地方混入了政治色彩。例如 Node 还有 React 这些超明星级的项目
!(data/attachment/forum/202204/09/164105z66n6h6urfh6hps1.png)
!(data/attachment/forum/202204/09/164120u8ccjyo7jlylu0lu.png)
目前来看 React 的issues 已经沦陷了,一个原本纯粹的地方为什么会有了政治?
!(data/attachment/forum/202204/09/164212lxt8f8k0jk8rdb8z.png)
如果开源项目涉及了政治,那么github **可能**也不远了。为了避免造成不必要的损失,因此我昨晚连夜把自己在github 上的项目都同步一份到了 gitee,并且今天写下了这一份指南。
我也建议大家未雨绸缪,对自己的github账户进行备份,尽量不要让我们受到损失。

***

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

***

**现有仓库同步**
这一步其实 gitee 官网已经集成了一键导入的功能。(https://gitee.com/help/articles/4284)
一共分为3个步骤:

1.从 + 号找到 从 Github/Gitlab导入仓库
!(data/attachment/forum/202204/09/164453ep99pwcvttvwhhph.png)

2.授权 gitee github 权限
!(data/attachment/forum/202204/09/164518xfskildsiajlkd8f.png)

3.授权后可以看到这样一个 tab 页面选项,我们选择 导入当前页面所有仓库
!(data/attachment/forum/202204/09/164609w9w0cplzu1mcfffb.png)
gitee 就会自动帮我们导入在 github 的项目,等待一些时间就好。
导入完成之后,所有的项目都是私有权限,因此也不用担心自己原本在 gihtub 上的私有仓库权限泄漏。这里我就不放图片了


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

方案一:增加 remote 源
这个方案其实很简单,一般来说在提交开源项目想要合入开源项目最新代码的时候肯定用到过。

git remote add `<name> <url>`
1.在你原来的 github 仓库下添加远端仓库

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

添加后可以看到这样的:
!(data/attachment/forum/202204/09/164759jpaknzbafia2je7a.png)
2.提交当前的增量代码
![图片.png](data/attachment/forum/202204/09/164815j6rz5cr29gaqc6gu.png)
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 的账户名字是一样的)
![图片.png](data/attachment/forum/202204/09/164936ovun39c313314d4b.png)
效果:![图片.png](data/attachment/forum/202204/09/164955paop1jpvpl2p2wt9.png)

方案三: 使用github action
1.在仓库根目录创建 .github/workflows 目录

2.创建 gitee-sync.yml
![图片.png](data/attachment/forum/202204/09/165033lb8kgsbhcb0bo8tg.png)
3.在 Github 需要同步的仓库上添加 3 个 secrets: (Setting -> Secrets -> New repository secret)

GITEE_USER, 例如我的 gitee ~~hua1995116~~
GITEE_PRIVATE_KEY,获取方法(如果已有,直接设置) - Gitee公钥对应的私钥(https://gitee.com/profile/sshkeys)
新建 private key 方法:
生成 SSH 公钥(https://gitee.com/help/articles/4181#article-header0)
将 SSH 公钥添加到 Gitee 公钥( https://gitee.com/profile/sshkeys)
同时将公钥添加到 Github 项目的 secrets 中;
GITEE_TOKEN,获取方法 - Gitee对应的用于创建仓库的token(https://gitee.com/profile/personal_access_tokens)新建 token 方法:
打开上面的链接并登录 Gitee, 点击“生成新令牌”,
添加描述,比如用处 - Github 仓库同步到 Gitee;
权限默认全选,点击提交,显示出生成的 token 值;(注意保存,需要填到 Github 的 secrets 中)
最后后续所有提交,可以利用 github action 自动同步。

总的来说,方案1和2比较简单,但是1可以控制提交源but需要提交两次,2无法控制
3github action 被制裁了就gg

当然, github也 发布了声明依旧会无国界地提供服务。
!(data/attachment/forum/202204/09/165825xv55vo61o2y66kwb.png)
但是,万一呢,反正我不敢赌,还是提前做好两手准备,毕竟已经有人中枪了
!(data/attachment/forum/202204/09/165931d700i7uq7z4si44v.png)
所以,

备份数据很重要!

备份数据很重要!

备份数据很重要!

执念e1 发表于 2022-4-9 17:11:00

好久都没发了,这篇应该是今年的第一条帖子{:4_100:}
太懒了{:4_91:}
接下来会在闲余时间不定期更新,跟着感觉走吧,心血来潮就来一篇,不过好久没写编辑器都不一样了,比以前好很多了,大家一起加油!!

李恒道 发表于 2022-4-9 17:14:59

执念e1 发表于 2022-4-9 17:11
好久都没发了,这篇应该是今年的第一条帖子
太懒了
接下来会在闲余时间不定期更新,跟着 ...

终于受不了那个垃圾编辑器了
一之哥哥花大力气在重写!

Ne-21 发表于 2022-4-9 17:46:22

我直接本地备份

Ne-21 发表于 2022-4-9 17:46:52

gitee限制太多了,仓库封了我好几个

王一之 发表于 2022-4-9 19:35:11

备份数据很重要!

其实我没什么备份的习惯。。。都在github上。。。。

代码只有开发的才会拉取下来

执念e1 发表于 2022-4-9 21:18:22

李恒道 发表于 2022-4-9 17:14
终于受不了那个垃圾编辑器了
一之哥哥花大力气在重写!

哈哈哈,一之哥哥牛逼,为哥哥框框撞大墙

执念e1 发表于 2022-4-9 21:20:04

Ne-21 发表于 2022-4-9 17:46
gitee限制太多了,仓库封了我好几个

码云也可以(虽然我觉得这个封的更离谱)
不过本地硬盘最好

执念e1 发表于 2022-4-9 21:21:32

王一之 发表于 2022-4-9 19:35
备份数据很重要!

其实我没什么备份的习惯。。。都在github上。。。。


哈哈哈,我怕了,昨晚连夜备份了一下

潘钜森 发表于 2022-4-9 21:38:13

卧槽!必应是不是屏蔽了油猴中文网,我搜不到了...{:4_88:}
页: [1] 2
查看完整版本: 万一 Github 不让用了...(未雨绸缪,轻喷)