【Git】实现Gitee和Github仓库的同步操作

2023-05-16

本篇博客的设置方法同样可以适用于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……还没遇到

……😂

结语

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Git】实现Gitee和Github仓库的同步操作 的相关文章

  • 我可以获取两次提交之间 git 子文件夹中已更改文件的列表吗?

    我有一个包含许多文件夹的 git 存储库 我需要找出在两次提交之间这些文件夹之一中的哪些文件发生了更改 有没有一个好的方法来做到这一点 我想你可以坚持走最后的路git diff git diff HEAD HEAD special fold
  • git 的精简包是什么?

    我还没有找到太多关于瘦包的信息 并且手册页的信息对此相当含糊 我知道这与连接速度慢有关 但是什么是 连接速度慢 它的优点和缺点是什么 什么时候应该使用它 什么时候不应该使用它 根据记录 手册页 index pack https www gi
  • 如何与其他用户共享 bitbucket 存储库?

    我正在使用 Bit 存储桶 并且我想与一位朋友分享我的存储库 我用的是免费的个人账户 似乎有一个选项可以在位桶中创建团队 但它说它将把我的帐户从个人帐户转换为团队帐户 我不要那个 我如何授予其他用户访问此存储库的权限 有一个共享链接选项 如
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • 如何将一个文件存储库上传到 Gist,并保留历史记录?

    我的计算机上有一个包含单个文件的 Git 存储库coins py 我如何才能将其作为 Github 上的要点来保存历史 这其实很简单 您可以将现有历史记录移动到 Gist 存储库中 就像将其移动到任何其他存储库中一样 创建要点 只需输入一些
  • Git rebase --继续而不打开编辑器

    调用时git rebase continue在正常的变基冲突之后 编辑器 GIT EDITOR 打开并要求修改提交消息 因为提交消息可能包含前导 所以这可能会失败 export GIT EDITOR true git rebase cont
  • gitattributes 中的`* text=auto eol=lf` 会做什么?

    我们的 gitattributes 文件中有这样的内容 text auto eol lf 我想准确理解这是做什么的 第一部分是text auto 来自文档 http git scm com docs gitattributes 这确保了所有
  • 如何摆脱 gerrit 中的错误依赖关系

    看起来 当使用 gerrit 时 默认情况下所有更改都依赖于前一个更改 我不会分支进行新的更改 我只是在主分支上工作 然后将提交的更改推送到远程源 主分支 即使两次提交彼此无关 每次都会创建依赖关系 我遇到了一些问题 这让我认为我没有正确地
  • Git 分支之间未跟踪的文件

    我一直在这里寻找答案 看来我可能只是对 git 分支应该如何工作做出了错误的假设 我有我的master分支 我创建了一个名为的功能分支profiles我正在对个人资料进行一些特定的工作 在处理配置文件时 我更改了 5 或 6 个文件 并添加
  • git checkout HEAD -- 和有什么区别?和 git reset --hard HEAD?

    我已经查看了这个 stackoverflow 链接 但我认为我所要求的之间的细微差别是使用HEAD在结账命令中 因为他们的建议似乎不起作用 git reset hard HEAD 和 git checkout 之间有区别吗 https st
  • 更改 Windows 安装的 Git Bash 中 ~ 目录的位置

    我什至不确定我问的是正确的问题 让我解释一下我的情况 这是关于 Windows 7 上的 Git 我的公司在网络驱动器上设置 Windows 用户目录 而不是在本地硬盘驱动器上 用于备份和超出本问题范围的其他目的 我无法改变这项政策 然而
  • 如何 git checkout 提交并将子模块更新到该提交?

    我正在克隆一个带有子模块的项目并恢复到大约一年前的提交 git clone recursive branch 5 6 https codereview qt project org pyside pyside setup cd pyside
  • 设置单独的遥控器以仅推送和拉动子文件夹

    假设我有两个存储库 repo A and repo B 其中包含一个文件夹 其中的代码与存储库 A 中的代码类似 这实际上如何发生并不重要 但是好吧 让我们假设我刚刚从 A 复制了内容 现在我想要以下内容 就像我在 repo A 中习惯的那
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul
  • Git 从 Netbeans 推送到 Gerrit

    我在将提交从 Netbeans 7 4 在 Linux 上 推送到 Gerrit 进行审查时遇到问题 我的git配置 core repositoryformatversion 0 filemode true logallrefupdates
  • 未签出...捆绑安装无法修复帮助!

    https github com intridea omniauth git at master is not checked out Please run bundle install Bundler GitError 那我该怎么办 捆绑
  • Git 和重定向

    我注意到 当 git html 项目页面如下所示 https github com fruux sabre dav 被克隆 以这种方式 git clone https github com fruux sabre dav 实际生成的远程 U
  • 如何克隆没有提交的裸 git 存储库并在克隆过程中获取正确的 HEAD 引用?

    这个答案 https stackoverflow com a 26898059 438273声称该问题已在版本中修复1 8 4 3 但是我在版本中还是遇到了2 25 1 它似乎在版本中按预期工作2 32 0 所以我不确定它是什么时候真正修复
  • 原始文件被分成另外两个文件,git 有没有办法查看内容去了哪里?

    我的问题 我是一名代码审查员 我在GIT中有一个情况 before a txt 然后开发人员决定拆分内容a txt分成 2 个文件 并在一次提交中添加一些更改 after b txt 很少的变化和c txt 一些变化 有没有简单的方法可以看
  • 无法在 git 上获取 Http 工作

    我在拇指驱动器上使用 gitbash 作为 git 我的防火墙阻止了我 并且想设置我的 git 以进行 http 访问 我使用 github 并且已经看到了有关如何执行此操作的各种信息 但我还不够了解 无法让它为我自己工作 我在 php i

随机推荐

  • Python PIP升级后执行命令报错: sys.stderr.write(f“ERROR: {exc}“)解决方法

    近日在使用pip时终端始终提示 You are using pip version 8 1 1 however version 21 0 1 is available You should consider upgrading via th
  • 戴尔Optiplex-7080装ubuntu16.04双系统时遇到的一些坑

    目录 ubuntu16 04安装过程中遇到的坑安装教程安装类型为空 xff08 读取不到磁盘 xff09 ubuntu16 04安装完成后无法启动windows ubuntu16 04无法连接无线网络 ubuntu16 04安装过程中遇到的
  • Ubuntu 16.04无法检测双屏/nvidia-smi显示no running processing found/nvidia-settings读取不到显卡信息

    问题 xff1a 1 笔记本ubuntu 16 04系统无法检测双屏 xff0c xrandr不显示hdmi接口或hdmi disconnectted 2 nvidia smi的最下方显示No running processes found
  • C++中的智能指针:shared_ptr

    本文主要参考 std shared ptr C 43 43 shared ptr共享型智能指针详解 std shared ptr 是一种智能指针 xff0c 它能够记录多少个 shared ptr 共同指向一个对象 xff0c 从而消除显式
  • pixhawk4 mini重启后死机

    pixhawk4 mini通过供电口供电 xff0c telement1口连接数传 xff0c usb口连接树莓派 xff08 机载计算机 xff09 此时如果用QGC地面站数传发送reboot指令 xff0c pixhawk4 mini关
  • C++利用auto对std::vector进行遍历时auto的类型

    先把结论摆在最前面 xff0c 当使用for auto amp node nodes 对std vector lt xxx gt nodes进行遍历时 xff0c auto定义的node其实是一个对nodes中对应元素的引用 具体的探究过程
  • 使用roslaunch为Gazebo加载自定义模型时黑屏、报错问题

    今天自己弄了一个dae类型的模型文件 xff0c 想要导入gazebo xff0c 按照gazebo world文件中导入dae模型的问题文章操作了一番 xff0c 编写如下 world文件 span class token operato
  • 点云地图导入gazebo思路

    参考这篇帖子下曹超大神的回答 xff0c 思路如下 xff1a 曹超CMU xff1a 如果不需要用地图渲染rgb图像的话 xff0c 我们通常的做法是把纯激光雷达点云地图导入CloudCompare进行downsample和计算每个点的n
  • Git删除历史commit记录中的大文件

    在使用Git的过程中 xff0c 常常会出现不小心commit了没用作用的大文件 xff0c 导致无法push到远程的情况 xff0c 并且即使删除了该文件重新commit xff0c 该文件也已经保存在历史commit中 xff0c 仍然
  • realsense d435 刷固件后连接失败问题

    刷固件后提示 Backend in rs2 create device info list 000001B00E9DF470 index 0 source gt QueryInterface uuidof IKsTopologyInfo r
  • 用Stm32CubeMX在STM32F107上移植LWIP(PHY:DM9161A)

    背景 有一块吃灰7年的神州IV号开发板 xff0c 主控芯片STM32F107VCT6 xff0c PHY芯片DM9161A xff0c 配套的资料都是当年ST的标准库 这个开发板应该是因为当年上市太匆忙 xff0c 资料和代码的细节部分做
  • ROS_Python编程 之 案例代码核心解析(第一版)

    ROS Python编程 之 案例代码核心解析 xff08 第一版 xff09 通过Handsfree mini机器人平台配套的中级教程 xff0c 我对ros python编程实现 传感器数据读取 运动控制 的知识做以下归纳 xff1a
  • 一个结束,又是一个开始

    随着大一期终考试的结束 xff0c 我的C语言学习之旅算是暂告一段落 xff0c 盘点下来我最多就只是学习了一些最皮毛的语法之类的东西 xff01 我同时从各种渠道了解到C语言的特殊地位 是许多计算机语言的根本 xff0c 我也体会到其中的
  • 如何使用 Ubuntu 配置可视化桌面环境?

    https developer aliyun com article 727585 如何使用 Ubuntu 配置可视化桌面环境 xff1f 迪科斯彻 2019 11 20 1340浏览量 简介 xff1a Ubuntu 是一个世界领先的开源
  • 如何将电脑的代理网络以WIFI热点的方式共享

    文章目录 写在前面如何设置PC端连接代理设置共享1 打开win10自带的 移动热点 2 选择 更改适配器选项 3 连接代理4 右键连接 xff0c 打开属性页面 5 重新连接代理 xff0c 重启移动热点注意共享给有线网络 测试 由于各地甲
  • mavros坐标系转换与方向

    2021 05 04更新 xff1a 本文中提到的kinetic版本的mavros中body系的坐标系问题已经被修复为FLU坐标系 xff0c 只需要更新kinetic版本的mavros即可 xff01 sudo apt install r
  • qsort快速排序用法--完整版(解释了cmp)【转】

    原文地址 xff1a http hi baidu com xuhanqiu item 99505e41aeef4eae61d7b916 用qsort快两年的时候了 却一直没有真正弄懂cmp函数的返回值1 1 0的函数 今天在做凸包时 郁闷了
  • 通过 docker 镜像 vcs 进行仿真

    学习空白的贝塔 摸鱼范式公众号 安装docker 并拉取镜像 远程 进行 vcs 与 verdi 的联合仿真 我踩得的坑一一列举 1 直接按照教程安装docker wsl 但是出现问题 安装失败 首先我的账户是中文名字 可能直接导致我安装失
  • FreeRTOS卡在SVC_Handler

    FreeRTOS已经实现了SVC Handler 和PendSV Handler 两个函数的功能 xff0c 对应port c中的vPortSVCHandler 和xPortPendSVHandler 为了使用FreeRTOS的这两个函数
  • 【Git】实现Gitee和Github仓库的同步操作

    本篇博客的设置方法同样可以适用于gitlab等其他平台 不多bb xff0c 直入主题 实现两个仓库的同步 1 准备两个仓库 分别在两个平台创建一个相同名字的仓库 xff0c 当然 xff0c 你也可以在a平台上导入b平台已有的仓库 xff