Git-GitHub仓库代码同步至Gitee【一直报权限错!!!】

Git-GitHub仓库代码同步至Gitee【一直报权限错!!!】

  • 如题,最近想写一个个人博客项目,想着希望能在GitHub和Gitee上都能够同步更新我提交的代码,于是开始去捣鼓。。。
  • 第一次接触这个,弄了我俩小时,尝试了20次左右还是不断地报各种各样的错误,真的很烦啊,现在弄完了,记录一下!!

Git-GitHub仓库代码同步至Gitee_1

一、生成Gitee账号的私人令牌

  • 登录Gitee账号,进入设置,点击私人令牌=>生成新令牌:

在这里插入图片描述

  • 注意,生成的令牌仅显示一次,记得保存好!

二、生成本地SSH私钥

  • 1、通过命令 ssh-keygen 生成 SSH Key:

    ssh-keygen -t ed25519 -C "Gitee SSH Key"
    
    • -t key 类型
    • -C 注释

    输出,如:

    Generating public/private ed25519 key pair.
    Enter file in which to save the key (/home/git/.ssh/id_ed25519):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/git/.ssh/id_ed25519
    Your public key has been saved in /home/git/.ssh/id_ed25519.pub
    The key fingerprint is:
    SHA256:ohDd0OK5WG2dx4gST/j35HjvlJlGHvihyY+Msl6IC8I Gitee SSH Key
    The key's randomart image is:
    +--[ED25519 256]--+
    |    .o           |
    |   .+oo          |
    |  ...O.o +       |
    |   .= * = +.     |
    |  .o +..S*. +    |
    |. ...o o..+* *   |
    |.E. o . ..+.O    |
    | . . ... o =.    |
    |    ..oo. o.o    |
    +----[SHA256]-----+
    
    • 中间通过三次回车键确定;
  • 2.公钥和私钥一般在~/.ssh/文件夹下;

三、在Github的仓库设置中添加私人令牌和私钥

  • 进入Github仓库的设置页面进行添加:

    在这里插入图片描述

四、项目工程目录新建工作流

  • 一般是在项目根目录下的.github/workflows下面,新建文件sync-to-gitee.yml

    name: syncToGitee
    on:
      push:
        branches:
          - main #Github仓库分支名称
    jobs:
      repo-sync:
        runs-on: ubuntu-latest
        steps:
          - name: Set up SSH key # 1.设置SSH私钥
            run: |
              mkdir -p ~/.ssh
              echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
              chmod 600 ~/.ssh/id_rsa
              ssh-keyscan -H gitee.com >> ~/.ssh/known_hosts
            env:
              SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
    
          - name: Check loaded SSH key # 2.检查SSH私钥是否设置成功
            run: |
              cat ~/.ssh/id_rsa
            env:
              SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
    
    
          - name: Test SSH connection # 3.测试通过该私钥是否能够访问Gitee
            run: ssh -vT git@gitee.com
            env:
              SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
    
    
          - name: Mirror to Gitee. # 4.将Github仓库镜像至Gitee
            uses: Yikun/hub-mirror-action@master
            with:
              src: 'github/GitHub用户名'
              dst: 'gitee/Gitee用户名'
              dst_key: ${{ secrets.SSH_PRIVATE_KEY }}
              dst_token:  ${{ secrets.GITEE_TOKEN }}
              static_list: "需要同步的GitHub仓库名"
    
    
  • 以上,就是整个过程,在这个过程中,可能会出现各种各样的问题,出现问题不要着急,好好查看日志,查看工作流中的报错,去搜索引擎,去问问ChatGPT,肯定能够解决的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SEA-365

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

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

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

打赏作者

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

抵扣说明:

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

余额充值