同时将代码备份到Gitee和GitHub

如何将GitHub项目一步导入Gitee

如何保持Gitee和GitHub同步更新

如何将GitHub项目一步导入Gitee

方法一:

登陆 Gitee 账号,点击右上角的 + 号,点击「从 GitHub 导入项目」,在跳转的页面中授权 Gitee 访问。

然后选择性的从GitHub中导入

方法二:

在创建项目的时候,选择导入已有项目。

如果是私有项目将会需要输入 GitHub 的账号信息。

如何保持Gitee和GitHub同步更新

方式一: 使用Gitee的强制同步

我还是只用维护 github 那份源码, gitee 这边没忘记的话, 手搓点击下强制同步按钮即可。

但是容易忘记, 造成两边不完全同步。

切记,只有从GitHub上导入的仓库才有强制同步的按钮

方式二: 手搓 push 多次

那么不外乎就是配置多个远程库地址, 多次推送咯, 那么我们先来看看现有远程库的情况(以:WhiteHole

$ git remote --verbose
origin https://gitee.com/BlackThompson/white-hole.git (fetch)
origin https://gitee.com/BlackThompson/white-hole.git (push)

可以看到目前仅有 https://gitee.com/BlackThompson/white-hole.git 这个远程库地址.

我们来加一个 gitee 的远程地址, 首先在 gitee 建好同步仓库, 然后我们在本地添加一个新的远程库地址:

$ git remote add githuborigin https://github.com/BlackThompson/WhiteHole

添加完成后我们查看一下:

$ git remote --verbose
githuborigin https://github.com/BlackThompson/WhiteHole (fetch)
githuborigin https://github.com/BlackThompson/WhiteHole (push)
origin https://gitee.com/BlackThompson/white-hole.git (fetch)
origin https://gitee.com/BlackThompson/white-hole.git (push)

可以查看到以下2个远程库地址:

githuborigin: 是我们新加的 github 的远程库地址

origin: 是我们之前在 gitee 的远程库地址

接下来同步:

git add .
git commit -m "add gitee"
git push -u origin master
git push -u githuborigin master

比之前多个一次 git push 操作…其他和之前没有太大区别…没有更多的心智负担.

但是经常容易忘记…

方式三: 最多跑一次

不想着法偷懒的 coder 不是好程序员, 秉承 “最多跑一次” 的理念, 让我们试试怎么一次 push 统统搞定.

在本地 git 仓库里找到这个文件 .git/config, 内容如下:

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://gitee.com/BlackThompson/white-hole.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 1205x669+38+38 276 304
[remote "githuborigin"]
url = https://github.com/BlackThompson/WhiteHole
fetch = +refs/heads/*:refs/remotes/githuborigin/*

改为如下:

合并2个 remote 配置

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://github.com/BlackThompson/WhiteHole
url = https://gitee.com/BlackThompson/white-hole.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

上面这个手动配置是为了更好的说明而已, 其实可以用以下命令简化操作, 在 origin 节点下补充了一个新的远程地址.

$ git remote set-url --add origin https://github.com/BlackThompson/WhiteHole

看看补充后的远程地址情况

$ git remote --verbose
origin https://gitee.com/BlackThompson/white-hole.git (fetch)
origin https://gitee.com/BlackThompson/white-hole.git (push)
origin https://github.com/BlackThompson/WhiteHole (push)

注意看后面的 (fetch)(push), 相信你会明白点什么.

然后我们可以继续这样使用来实现 github & gitee 的同步推送和分发:

git add .
git commit -m "github & gitee 同步推送和分发"
git push origin master

可以看到, 使用上和最初没有任何区别, 只是多配置了一次, 算是实现了 “最多配(跑)一次”.

方式四:命令行把GitHub上的代码拉取导入Gitee

如果是本地仓库,只在需要命令行添加用不同名称标识的 Gitee 和 Github 远程库。

git remote add 远程库名 远程库地址

具体方法操作如下:

1、首先通过 git remote -v 查看您要同步的仓库的远程库列表,如果在列表中没有您码云的远程库地址,您需要新增一个地址

git remote add 远程库名 远程库地址

eg: git remote add gitee git@github.com:xxx/xxx.git

如果在 add 的时候出现error: Could not remove config section ‘remote.xxx’.一类的错误,通过把仓库下.git/config 文件里面的 [remote “xxx”] 删掉或者是用别的远程库名即可。

2、从GitHub上拉取最新代码到本地

git pull 远程库名 分支名

eg:git pull origin master

3、推送本地最新代码到码云上

git push 远程库名 分支名

eg:git push gitee master

如果出现有差异的话需要自己手动解决差异

参考文章:

如何将 GitHub 项目导入码云?一步搞定!

如何同步多个 git 远程仓库

————————————————

原文链接:https://blog.csdn.net/qq_51771849/article/details/114179329

同时将代码备份到Gitee和GitHub的更多相关文章

  1. 利用Gitee转接GitHub下载加速 简简单单 - 快快乐乐

    利用Gitee转接GitHub下载加速 简简单单 - 快快乐乐 JERRY_Z. ~ 2020 / 10 / 26 转载请注明出处!️ 目录 利用Gitee转接GitHub下载加速 简简单单 - 快快 ...

  2. git同步源码到gitee和github

    如何把我们的源码同步到gitee或github远程仓库中 同步方式分以下几种: 1.命令同步    先查看下我们是否有远程仓库:git remote -v 如有就要删除远程仓库或是同命令覆盖,如全新安 ...

  3. VsCode[Git] | 配置Gitee和Github | 不使用全局用户名和邮箱

    (VsCode[Git] | 配置Gitee和Github | 不使用全局用户名和邮箱 | 2021-04-11) 目录 一 .安装Git / VsCode配置Git / Win10系统 二.Git配 ...

  4. 8人/天,小记一次 JAVA(APP后台) 项目改造 .NET 过程(后台代码已完整开源于 Github)

    Github: https://github.com/iccb1013/Jade.Net 我们只消耗了8人/天的时间,完成了全部工作,基于我们 Jade.Net 的开源后台代码,任何小规模的后台管理系 ...

  5. Git初次使用总结,安装到上传代码,多平台[码云|github]

    安装步骤 1.选择安装路径 2.选择创建图标,选择安装Git Bash和Git GUI 3.选择创建开始菜单 4.选择:use git and optional unix tools from the ...

  6. 博客使用的CSS代码备份

    CSS代码备份 /*simplememory*/ #google_ad_c1, #google_ad_c2 { display: none; } .syntaxhighlighter a, .synt ...

  7. 1.svn 彻底clear时,注意代码备份 2.借助vc助手加头文件

    1.svn 彻底clear时,注意代码备份 2.不小心彻底clear可以在回收站找到 3.借助vc助手加头文件

  8. Git安装教程最新版本(国内gitee国外github)

    Git安装教程最新版本(国内gitee国外github) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 获取大师使用的typora主题: http://w ...

  9. CentOS 系统下Gitlab搭建与基本配置 以及代码备份迁移过程

    GitLab 是一个开源的版本管理系统,提供了类似于 GitHub 的源代码浏览,管理缺陷和注释等功能,你可以将代码免费托管到 GitLab.com,而且不限项目数量和成员数.最吸引人的一点是,可以在 ...

随机推荐

  1. python 模块和包的基础知识

    1.常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀 2.为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理.这时我们不仅 ...

  2. chrome删除保存的密码

    chrome删除保存的密码 关于谷歌密码管理器 该管理器是将我们的密码管理在google的账号中,当然,谷歌是说用了加密技术保存的,不会存储明文. https://passwords.google.c ...

  3. SQL 语言包括哪几部分?每部分都有哪些操作关键字?

    SQL 语言包括数据定义(DDL).数据操纵(DML),数据控制(DCL)和数据查询(DQL) 四个部分. 数据定义:Create Table,Alter Table,Drop Table, Crae ...

  4. 面试问题之数据结构与算法:B树、B+树、B*树

    一.B树 B树是一种多叉平衡查找树,由于是多叉结构,对于元素数量非常多的情况下,树的深度不会像二叉结构那么大,可以保证查询效率. 二.B+树 B+是是B树的一种变形, 1.特点: (1).所有叶子结点 ...

  5. springboot-数据库访问之mybatis

    选中mysqldirver,数据库驱动器 选中jdbc ,帮我们配置数据源,连接数据库 选中mybatis,持久层 <!-- 这个不是springboot官方出来的,是mybatis为了设备sp ...

  6. 学习 Haproxy (二)

    1. Haproxy介绍 Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备.虚拟主机.基于TCP和HTTP应用代理等功能.其配置简单,而且拥有很好的对服务器节点的 ...

  7. Effective Java —— 避免创建不必要的对象

    本文参考 本篇文章参考自<Effective Java>第三版第六条"Avoid creating unnecessary objects" avoid creatin ...

  8. (stm32f103学习总结)—RTC独立定时器—实时时钟实验

    一.STM32F1 RTC介绍 1.1 RTC简介 STM32 的实时时钟( RTC)是一个独立的定时器. STM32 的 RTC 模 块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的 ...

  9. 在微信小程序中绘制图表(part2)

    本期大纲 1.确定纵坐标的范围并绘制 2.根据真实数据绘制折线 相关阅读:在微信小程序中绘制图表(part1)在微信小程序中绘制图表(part3) 关注我的 github 项目 查看完整代码. 确定纵 ...

  10. JavaScript 小技巧 数组去重

    const array = [1, 2, 3, 3, 5, 5, 1]; const uniqueArray = [...new Set(array)]; console.log(uniqueArra ...