分享一次我github被封的经历以及迁移指南

点击在线阅读,体验更好 链接
现代JavaScript高级小册 链接
深入浅出Dart 链接
现代TypeScript高级小册 链接
linwu的算法笔记📒 链接

前言

上星期四,我像往常一样起床上班,地铁上收到了微信消息

image.png

这时候就感觉到不对劲了,到了公司我登录了自己的github,发现被封了

image.png

毫无征兆,我的gmail也没有收到github邮箱。

因为这个github账号我一直用来存放我的网站资料以及blog,所以很多issue都在里面,另外还有部分图床和博客示例,这个被封禁,所有资料都迁移不了

缘由

网上查了一圈,发现github被封,很少能申诉成功的,所以我给官方发了一封邮件,想看看是什么原因导致的,避免后续再出现类似的问题

给官方回了一个邮件后,过了半个小时我收到了回复

image.png

原来问题是这样,因为我之前找某宝开通了copilot学生认证,导致被github查到封禁了,至于之所以找某宝,是因为我没有visa卡支付起来麻烦,又想体验copilot,没办法才出此下策,所以copilot学生认证还是不要绑定自己的github账号吧

image.png

迁移

封都已经封了,这时候就得统计损失了,尽量挽回

所幸我很多仓库本地都有备份,重新注册了一个github账号上传就行,为此我还专门写了些脚本

备份star

很多同学都会把star当做书签收集

这时候可以通过访问github api进行备份

https://api.github.com/users/[username]/starred

image.png

批量备份issue到本地

const fs = require('fs');
const axios = require('axios');
const sanitize = require('sanitize-filename');
const {
    githubRepoOwner, githubRepoName, githubAccessToken } = require('./config');

async function getIssues() {
   
  let allIssues = [];
  let page = 1;
  let perPage = 300; // 每页返回100个issue,根据实际情况可以适当调整

  try {
   
    while (true) {
   
      const response = await axios.get(`https://api.github.com/repos/${
     githubRepoOwner}/${
     githubRepoName}/issues`, {
   
        params: {
   
          page,
          per_page: perPage
        },
        headers: {
   
          Authorization: `Bearer ${
     githubAccessToken}`
        }
      });

      const issues = response.data;
      if (issues.length === 0) {
   
        break; // 退出循环,表示已获取所有issue数据
      }

      allIssues = allIssues.concat(issues);
      page++;
    }

    return allIssues;
  } catch (error) {
   
    throw new Error(`Error fetching issues: ${
     error.message}`);
  }
}

async function saveIssueAsMarkdown(issue, directory) {
   
  const markdownContent = issue.body;
  const fileName = `${
     directory}/${
     sanitize(issue.title)}.md`;
  fs.writeFileSync(fileName, markdownContent);
}

async function main() {
   
  try {
   
    const issues = await getIssues();

    // Create a directory for each label
    issues.forEach(
评论 70
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linwu-hi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值