Git-GitHub仓库代码同步至Gitee【一直报权限错!!!】
- 如题,最近想写一个个人博客项目,想着希望能在GitHub和Gitee上都能够同步更新我提交的代码,于是开始去捣鼓。。。
- 第一次接触这个,弄了我俩小时,尝试了20次左右还是不断地报各种各样的错误,真的很烦啊,现在弄完了,记录一下!!
一、生成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,肯定能够解决的。