做网站宁夏,徐州建设工程审图中心网站,建设网站需要钱吗,大棚网站怎么做调试笔记-系列文章目录
调试笔记-20240723-Linux-gitee 仓库同步 github 仓库#xff0c;并保持所有访问链接调整为指向 gitee 仓库的 URL 文章目录 调试笔记-系列文章目录调试笔记-20240723-Linux-gitee 仓库同步 github 仓库#xff0c;并保持所有访问链接调整为指向 gite…调试笔记-系列文章目录
调试笔记-20240723-Linux-gitee 仓库同步 github 仓库并保持所有访问链接调整为指向 gitee 仓库的 URL 文章目录 调试笔记-系列文章目录调试笔记-20240723-Linux-gitee 仓库同步 github 仓库并保持所有访问链接调整为指向 gitee 仓库的 URL 前言一、调试环境操作系统Windows 10 专业版调试环境调试目标 二、调试步骤实现步骤1、github 上创建仓库2、在 github 仓库上创建 gitee 分支3、在 gitee 上导入 github 的仓库4、使用本工具完成 git 上 gitee 分支对 main 分支的同步5、gitee 仓库定期同步 github 仓库 工作原理 三、应用场景gitee 仓库同步 github 仓库并保持 URL 指向自己仓库的地址 四、参考资料总结 前言
本文记录在 Windows 的 WSL 环境下使用 shell 脚本工具实现 gitee 仓库同步 github 仓库并保持所有访问链接调整为指向 gitee 仓库的 URL。
实验使用的电脑如下
CPU
Intel Core i5 8265U操作系统
Microsoft Windows 10 Professional (x64), Version 22H2, Build 19045.4412一、调试环境 操作系统Windows 10 专业版
操作系统详细信息如下
Microsoft Windows 10 Professional (x64), Version 22H2, Build 19045.4412调试环境
Windows 系统下安装 WSL Ubuntu 22.04 LTS 版本shell 脚本调试在此 WSL 环境中进行。
参考 【安装笔记-20240520-Windows-自定义 WSL2 安装位置】 【调试笔记-20240522-Windows-WSL 修改已安装发行版名称】 调试目标
实现 gitee 仓库同步 github 仓库并保持所有访问链接调整为指向 gitee 仓库的 URL。
gitee 仓库
github 仓库 二、调试步骤
参考 【https://gitee.com/david921518/dev-tools/tree/gitee/github-merge】
实现步骤
以本仓库为例实现 gitee 同步 github 的仓库并保证访问 gitee.com 网站时所有 URL 调整到指向 gitee.com 的仓库路径
1、github 上创建仓库
github 上创建仓库后默认生成 main 的主分支
2、在 github 仓库上创建 gitee 分支
gitee 分支用于给 gitee.com 的仓库访问此分支上所有指向 github.com 仓库的 URL 都将修改为指向 gitee.com 的仓库
3、在 gitee 上导入 github 的仓库
导入 github 仓库后在 gitee 的“管理”页修改默认分支为 gitee
4、使用本工具完成 git 上 gitee 分支对 main 分支的同步
5、gitee 仓库定期同步 github 仓库
工作原理
1、 本地主机上建立两个工作目录/main/ 目录保存 github 仓库的 main 分支/gitee/ 目录保存 github 仓库的 gitee 分支
2、 更新 /main/ 目录后使用字符串替换工具将指向 github.com 的 URL 修改为指向 gitee.com 的 URL
3、 复制修改后的 /main/ 目录文件内容到 /gitee/ 目录中
4、 将 /gitee/ 目录中的内容推送到 github 仓库的 gitee 分支
5、 触发 gitee.com 上对应的仓库进行 github.com 的仓库同步动作实现两个 git 仓库同步
初始化工作目录的脚本 setup.sh 如下 #!/bin/shgit clone -b main gitgithub.com:david921518/dev-tools.git main
git clone -b gitee gitgithub.com:david921518/dev-tools.git gitee
git clone -b gitlab gitgithub.com:david921518/dev-tools.git gitlab
URL 替换的脚本 replace_gitee.sh 如下 #!/bin/sh# tested on Ubuntu 22.04github_urlhttps://github.com/david921518/dev-tools/blob/master
gitee_urlhttps://gitee.com/david921518/dev-tools/blob/gitee
ignore_files(./github-merge/setup.sh ./github-merge/replace_gitee.sh ./LICENSE)rm -rf ./main_tmp
mkdir -p ./main_tmprm -rf ./gitee/*cp -af ./main/* ./main_tmp/
cp -af ./main/* ./gitee/# sed s$https://github.com/david921518/dev-tools/blob/master$https://gitee.com/david921518/dev-tools/blob/gitee$ ./main/github-merge/README.md ./gitee/github-merge/README.mdcd ./main_tmp/
files$(find .)
cd ../for filename in $files
doif [ -f ./main_tmp/$filename ]; thenecho ./main_tmp/$filename is regular filematchedfalse;for elem in ${ignore_files[]}; doif [[ $elem $filename ]]; thenmatchedtrue;fidoneif [[ $matched false ]]; thenecho replace $filenamesed s^$github_url^$gitee_url^ ./main_tmp/$filename ./gitee/$filenameelseecho ignore $filenamefielseecho ./main_tmp/$filename is not regular filefi
donerm -rf ./main_tmp/# git commit to github
cd ./gitee/
git add *
git commit -a -m merge with main branch
git push origin gitee
cd ../ 三、应用场景
gitee 仓库同步 github 仓库并保持 URL 指向自己仓库的地址 四、参考资料
1、GitHub 分支合并工具
2、安装笔记-20240520-Windows-自定义 WSL2 安装位置
3、调试笔记-20240522-Windows-WSL 修改已安装发行版名称 总结
本文记录在 Windows 的 WSL 环境下使用 shell 脚本工具实现 gitee 仓库同步 github 仓库并保持所有访问链接调整为指向 gitee 仓库的 URL。