同时将代码备份到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. Integer与int的区别?

    int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类.int的默认值为0,而Integer的默认值为null,即Integer可 ...

  2. Dubbo 必须依赖的包有哪些?

    Dubbo 必须依赖 JDK,其他为可选.

  3. 如何在自定义端口上运行 Spring Boot 应用程序?

    为了在自定义端口上运行 Spring Boot 应用程序,您可以在 application.properties 中指定端口. server.port = 8090

  4. List、Set、Map详解及区别

    一.List接口 List是一个继承于Collection的接口,即List是集合中的一种.List是有序的队列,List中的每一个元素都有一个索引:第一个元素的索引值是0,往后的元素的索引值依次+1 ...

  5. java-設計模式-生成器

    生成器模式Bulider 使你能够分步骤创建复杂对象. 该模式允许你使用相同的创建代码生成不同类型和形式的对象. 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示. 将一个复杂的 ...

  6. 什么是通知(Advice)?

    特定 JoinPoint 处的 Aspect 所采取的动作称为 Advice.Spring AOP 使用一 个 Advice 作为拦截器,在 JoinPoint "周围"维护一系列 ...

  7. kafka 的高可用机制是什么?

    这个问题比较系统,回答出 kafka 的系统特点,leader 和 follower 的关系,消息 读写的顺序即可.

  8. Spring AOP and AspectJ AOP 有什么区别?

    Spring AOP 基于动态代理方式实现:AspectJ 基于静态代理方式实现.Spring AOP 仅支持方法级别的 PointCut:提供了完全的 AOP 支持,它还支持属性级别的 PointC ...

  9. C语言类型转换原理

    C语言类型转换 int a; a=1.23 这里把1.23赋值给a发生了隐式转换,原理如下: int a; float b=3.14; a=b; b赋值给a的过程:首先找一个中间变量是a的类型(该例中 ...

  10. 基于HTML5的拓扑图编辑器(2)

    继续来说编辑器的需求, 前面介绍了拖拽创建节点.以及连线的方法,并加入到了其后的 Qunee 类库,实际应用中需要更多功能,Qunee 的拓扑图编辑器也在逐渐完善,一方面增加多种编辑交互,一方面提供数 ...