如何同步 Github 和 Gitee的仓库代码

这篇具有很好参考价值的文章主要介绍了如何同步 Github 和 Gitee的仓库代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、从github导入仓库,手动同步

gitee同步gihub仓库,github,gitee

gitee同步gihub仓库,github,gitee
在 Gitee 的项目主页,导入的仓库会会有一个同步的按钮,你只用点一下,即可与 Github 同步更新,但是注意这里的同步功能默认是强制同步。有点麻烦的是,我们需要在推送到 Github 后,再到 Gitee 项目主页手动点击一下。

二、推送两个仓库

可以通过本地仓库的形式,同时推送到github和gitee,相当于执行两次commit的操作,push两次。但显然也不是我想要的。
gitee同步gihub仓库,github,gitee

git remote add 远程库名 远程库地址
eg: git remote add gitee git@github.com:xxx/xxx.git

除此之外我们还可以在sh脚本文件里deploy.sh直接推送2个仓库

#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e
# 定义变量
dist_path=docs/.vuepress/dist # 打包生成的文件夹路径

# 生成静态文件
npm run docs:build

# 进入生成的文件夹
cd $dist_path

git init
git add -A
git commit -m 'deploy'

# 如果发布到 https://<USERNAME>.github.io/<REPO>
git push -f git@github.com:ytking/test.git master:gh-pages
git push -f git@gitee.com:ytanck/test.git master:gh-pages

cd -
rm -rf $dist_path

当我们执行 sh deploy.sh 的时候,就会自动往两个仓库里推送。

三、Github Actions 自动同步

官方的Action方法Github Action。可以参考阮一峰老师的《GitHub Actions 入门教程》

运用CI/CD的思想,从github中自动化的执行流程,完美符合我们的预期。
需要将SSH公钥传到 Gitee和GitHub 上,这样就可以实现 GitHub 和 Gitee 的通信。

Actions方法1:使用Yikun/hub-mirror-action@master
需要SSH私钥和gitee私人令牌
在项目根目录新建.github/workflows/syncToGitee.yml脚本如下:

name: Sync to Gitee

on:
  push:
    branches: [master, gh-pages]

  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Sync to Gitee
        uses: Yikun/hub-mirror-action@master
        with:
          # 必选,需要同步的Github用户(源)
          src: 'github/ytking'
          # 必选,需要同步到的Gitee的用户(目的)
          dst: 'gitee/ytanck'
          # 必选,Gitee公钥对应的私钥
          dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}
          # 必选,Gitee对应的用于创建仓库的token
          dst_token:  ${{ secrets.GITEE_TOKEN }}
          # static_list 仓库名称 单一仓库同步
          static_list: "ytking"
          # 如果是组织,指定组织即可,默认为用户user
          # account_type: org
          # 还有黑、白名单,静态名单机制,可以用于更新某些指定库
          # static_list: repo_name
          # black_list: 'repo_name,repo_name2'
          # white_list: 'repo_name,repo_name2'
          # force_update 表示启用 git push -f 强制同步
          force_update: true
          # debug 为 true 表示启用 debug 开关,会显示所有执行命令
          debug: true

src 表示需要被同步的源端账户名,即我们 Github 的账户名,因为我的 Github ID 是 ytking,所以这里我应该改成 github/ytking

dst 表示需要同步到的目的端账户名,即我们 Gitee 的账户名,因为我的 Gitee ID 也是 ytanck,所以这里我应该改成 gitee/ytanck

dst_key 表示用于在目的端上传代码的私钥SSH,然后将其保存在 Secrets 中。如何获取SSH请自行百度

复制私钥内容,然后在要同步的 Github 仓库中,选择 “Setting” -> “Secrets” -> “New repository secret”
gitee同步gihub仓库,github,gitee
如何获取GITEEN_TOKEN,在 Gitee 上创建一个私人令牌(token),这个记得保存,因为它只会出现一次

gitee同步gihub仓库,github,gitee
配置完成后我们push分支,使用Sync to Gitee的 Action的workflow已经运行起来了
gitee同步gihub仓库,github,gitee

Actions方法二
使用 wearerequired/git-mirror-action@v1
在项目根目录新建.github/workflows/sync-gitee.yml脚本

name: Sync to Gitee

on:
  push:
    branches: [master, gh-pages]

  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Sync to Gitee
        uses: wearerequired/git-mirror-action@v1
        env:
          # 在 Settings->Secrets 配置 GITEE_PRIVATE_KEY
          SSH_PRIVATE_KEY: ${{ secrets.GITEE_PRIVATE_KEY }}
        with:
          # GitHub 源仓库地址
          source-repo: git@github.com:ytking/monorepo-pnpm.git
          # Gitee 目标仓库地址
          destination-repo: git@gitee.com:ytanck/monorepo-pnpm.git
          

GITEE_PRIVATE_KEY就是SSH私钥,如何获取shh请自行百度。另外方法二需要配置公钥,方法如下:复制id_rsa.pub
gitee同步gihub仓库,github,gitee
gitee同步gihub仓库,github,gitee
配置完成后,但你再push master分支时就会触发工作流的Action
gitee同步gihub仓库,github,gitee
此时就会发现Gitee也同步更新了
gitee同步gihub仓库,github,gitee
注:方法一如果不指定仓库,会自动同步所有仓库,方法二是针对某一仓库去同步,前提要在Gitee里提前创建好了指定名字的空仓库。文章来源地址https://www.toymoban.com/news/detail-848521.html

到了这里,关于如何同步 Github 和 Gitee的仓库代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 迁移 Gitee 仓库到 Github

    Step1 :  在Gitee找到你要迁移的仓库, 并复制 克隆|下载 链接   Step2 :  打开 Github, 找到 `+` 按钮选择 Import     Step3 :  打开 Github, 找到 `+` 按钮选择 Import    Step4 :  Waiting... 等待导入成功  Over~ 还有一种镜像更新的方案,  Gitee 支持镜像同步, 但是我使用时无法获取到仓库名, 遂

    2024年02月11日
    浏览(42)
  • 【Git】gitee与github同步

    本章所讲内容有克隆远程库(填上章的坑)和两个远程库在本地同步上传的方法。 接着我们上一篇讲了的内容:Git建立远程库,继续学习Git吧! 在上一次我们讲了,我们比较常用的还是从远程库来进行克隆,而不是用git remote add命令去连接我们的远程库,那么我们改如何克隆

    2024年02月10日
    浏览(50)
  • 如何使用Git将本地项目推送至代码托管平台?【Gitee、GitLab、GitHub】

    查看当前Git邮箱 git config user.email 设置Git账户名 git config --global user.name = “王会称” ​ 设置Git邮箱 git config --global user.email “wanghuichen2003@163.com” 再次查看是否设置成功 进入git全局配置文件修改 vi ~/.gitconfig 登录Gitee官网,并注册账户 ===================================================

    2024年04月16日
    浏览(60)
  • Logseq电脑端+安卓端同步gitee或github

    逛了一圈,csdn上的教程都要收费才能看,为啥搞得门槛那么高? 那不如我就来一篇教程吧,做的过程中确实遇到不少麻烦,但还是顺利解决了。 mac和windows是同样的同步方式,此处以gitee为例,因为国内gitee更稳定。 首先在gitee创建自己的仓库,注意改为私有,别被别人知道

    2024年04月28日
    浏览(28)
  • git本地项目同时推送提交到github和gitee同步

    同时推送到GitHub和Gitee(码云)可以通过设置多个远程仓库地址来实现。具体步骤如下: 一、分别推送 第一次推送仓库 加 -u 添加 分支 分别推送会报错 二、一键推送 修改.git/config配置文件 新配置文件 开始推送 三、自定义Git别名 你也可以通过设置一个Git别名来实现这一点,

    2024年02月06日
    浏览(69)
  • 使用git下载github/gitee仓库部分或单个文件的方法

    有些时候在github或者gitee仓库中我们只需要下载整个项目中的我门需要的那一部分文件夹或文件就行了,不需要下载所有的项目。这样可以节省很多流量和时间 1.建立一个新的 git 本地仓库 这里我在 D:test 中初始化 命令: 2.在本地仓库里面启用sparse-checkout 命令: 3.设定你要

    2024年04月14日
    浏览(96)
  • windows系统git使用ssh方式和gitee/github进行同步

    在从github/gitee远程仓库获取代码时,除了使用https方式,我们还可以使用ssh连接的方式与远程仓库服务器通信,其好处是有时会比https更方便、稳定、快速。 和与普通的linux服务器连接一样,为了免去每次远程操作都要输入用户名和密码的苦恼,我们可以选择使用 密钥对 的方

    2023年04月18日
    浏览(61)
  • Gitee迁移功能,将Github代码迁移到Gitee

    目录 一、在Gitee中新建仓库并将Github代码导入Gitee 二、强制更新   欢迎观看本栏目系列文章。本系统文章包括安装GIT、在命令行创建版本库、GIT分支操作、推送至Github;在IDEA中创建版本库、GIT分支操作、提交Github、提交Gitee、提交Gitlab、安装Gitlab。              在Gitee上登

    2024年01月17日
    浏览(51)
  • 使用Gitee或GitHub托管Maven仓库JAR包的便捷方法

    原文地址:https://ntopic.cn/p/2023062201/ 我开源的JAR包的Gitee和GitHub托管的Maven仓库: Gitee托管仓库:https://gitee.com/obullxl/maven-repository GitHub托管仓库:https://github.com/obullxl/maven-repository 在上一篇博客中,我们介绍了 开源通用高性能分布式id序列组件 (https://ntopic.cn/p/2023062101/)的设

    2024年02月11日
    浏览(48)
  • git在一台电脑上配置不同的仓库(多个gitee仓库、或者不同的github仓库)

    在开发过程中,我们工作的时候难免会使用到两个不同的仓库,但是正常来说一电脑默认一个参考,直接会用全局命令 但是这样只能配置一个仓库了,本文介绍在一台电脑上配置多个仓库,简单易用,请欣赏! 前提:您已经掌握了git仓库命令,不需要很会,有过配置用 CA证

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包