IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【Git】实现Gitee和Github仓库的同步操作 -> 正文阅读

[开发工具]【Git】实现Gitee和Github仓库的同步操作

本篇博客的设置方法同样可以适用于gitlab等其他平台

不多bb,直入主题?

实现两个仓库的同步

1.准备两个仓库

分别在两个平台创建一个相同名字的仓库,当然,你也可以在a平台上导入b平台已有的仓库,github和gitee目前都支持从别的平台导入仓库

这部分操作想必大家都会,就不演示了

2.克隆到本地

需要注意的是,你要保证其中一个是主仓库。如果是多人合作仓库的话,想两个平台的远程仓库同时多人合作并保持同步是相对困难的。

https://gitee.com/ewait/LetsOJ

image-20220619173212648

以我创立的这个多人OJ打卡仓库为例,现在我想得到的效果是,我和朋友们在gitee上面进行打卡协作,然后我通过git操作将这个仓库同步到github上面,仅供展示

当然如果有小伙伴愿意用github进行fork和pull request操作那我也是举双手双脚赞同+欢迎的

需要做的是,既然gitee是主战场,那就对gitee进行克隆操作

git clone https://gitee.com/ewait/LetsOJ.git

image-20220619173809133

3.设置第二个仓库的url

克隆完毕后,直接进入该仓库的.git文件夹,修改config文件

image-20220619173907538

在原本gitee的url后面,添加github的仓库url

image-20220619174037903

执行git remote -v,你可以看到github链接的仓库也显示了出来,后面带有push后缀,代表我们只能往这个仓库上传,并不能执行git pull操作

image-20220619174058888

这时候的设置已经完成了,你可以进行一次修改文件后的git push操作,两个仓库都可以同步!而且上传的编号都是相同的!

image-20220619174601414

image-20220619174641243

这时候的基本设置就已经完毕了!如果你还想做到能从github仓库中进行pull操作,那就接着往下看

4.关于pull操作

前面提到,github仓库的url后面有一个push后缀,代表我们不能从这个仓库里面获取更新

你如果修改了github的仓库,执行git pull操作,会显示Already up-to-date.因为系统检索的是gitee仓库的修改,并不知道你的github仓库有无修改


这时候可以执行下面的语句

git remote add github git@github.com:Aewait/Lets_OJ.git

再次git remote -v,可以看到在远程仓库中多出来了一个github为名字的仓库类型,而且这一次的仓库是可以fetch也就是获取内容的

image-20220619175038246

这时候你可以执行

git pull github

即可获取github仓库的最新更新

这样就实现了gitee仓库和github仓库的多端同步啦!

5.效果演示

现在我让朋友在gitee的仓库中上传一个内容

image-20220619181155085

执行git pull,可以看到系统从gitee的仓库中更新了内容

image-20220619181118789

这时候你执行git status,理论上来说会出现新文件对吧?并不会

image-20220619181328260

毕竟这时候系统检查的还是gitee主仓库,内容都是完全同步的

我们也不需要写git add和git commit,直接执行git push即可!

image-20220619181409683

再打开github瞅瞅,你会发现已经同步成功了!

image-20220619181500496


提醒

强烈建议:如果是多人合作仓库,请确保在某一个平台作为主战场,另外一个平台仅作展示(留档)使用!

不过我发现了一个好事,那就是当我从gitee导入这个仓库到github的时候,github不仅会自动同步小绿点,还会将这个仓库的协作者同样显示出来(前提是协作者在github上面有同邮箱注册的账户)

image-20220619175442691

一些问题的解决

1.关于github克隆网络访问问题

关于克隆/上传github问题,很多都是因为使用https链接导致的

我们需要使用ssh私钥来实现github仓库的免密操作

ssh-keygen -t rsa -C "你的gitee/github账户邮箱"

cd进入.ssh隐藏文件夹,找到生成的密钥pub文件

cat查看该文件里面的内容,将其复制

在github/gitee的个人设置页面,你都能找到ssh密钥的添加处

image-20220619175806351

image-20220619175837220

添加ssh密钥后,你就可以通过ssh链接来对github进行操作了,这时候一般就不会出现网络问题了!

2……还没遇到

……😂

结语

关于这项操作,网络上有很多相似内容,但总有些货不对板,不符合我的需求。所以就自己写了个博客

有任何问题都可以在评论区提出!

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 17:02:52  更:2022-06-26 17:03:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:29:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码