将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)

Posted 明金同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)相关的知识,希望对你有一定的参考价值。

一、在gitee或github上进行同步

gitee和github都有同步其他仓库的功能。

比如码云上就能直接从github或gitlab中导入

只需要填写仓库链接进行简单的设置就能进行同步

如果是未公开的私人仓库可能要提供账号和令牌进行验证
这里还提供了,直接github进行授权以后同步仓库的功能。

需要进行授权


然后就能看到github上面所有的仓库,一键进行导入
同样github也有此类功能

也是进行简单设置即可。

二、通过设置配置进行同步

虽然很多的托管平台都有从其他仓库导入的功能,但是并不能保持实时的同步,基本都需要手动进行同步,那如果需要对多个仓库同时提交,可以通过修改配置文件的方式提交。
创建完仓库或将仓库拉取下来以后在根目录找到.git/config文件,对其进行修改(注意.git目录默认是隐藏的)

1、首先,进入到项目的 .git 文件夹,打开 config 文件
2、然后,找到 [remote “origin”] ,复制一份remote到下面,修改remote的名字和url即可


把需要进行同步的仓库进行修改
在原来的github仓库地址下面再添加一个url配置,指向gitee的地址,这样可以一次性推送,只需要执行一次git push

[remote "github"]
	url = https://github.com/vmuu/Java-swing-project.git
	fetch = +refs/heads/*:refs/remotes/github/*
	url = https://gitee.com/vmu/Java-Swing-Project.git
	fetch = +refs/heads/*:refs/remotes/gitee/*

但是为了避免冲突,建议将原始的remote名字也改掉,
注意:remote的名字任意,但是在提交的时候要与这里对应

[remote "github"]
	url = https://github.com/vmuu/Java-swing-project.git
	fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
	url = https://gitee.com/vmu/Java-Swing-Project.git
	fetch = +refs/heads/*:refs/remotes/gitee/*

这样设置以后,需要对两个仓库分别执行一次push命令,也就是多次推送

git push github matser 
git push gitee master  


原配置如下:

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "github"]
	url = https://github.com/vmuu/Java-swing-project.git
	fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
	

更改为:

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "github"]
	url = https://github.com/vmuu/Java-swing-project.git
	fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
	url = https://gitee.com/vmu/Java-Swing-Project.git
	fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
		

然后进行推送即可。(如果没有登录Gitee和GitHub的账号或者公私钥可以需要进行设置)

执行命令,可以看到配置的两个仓库

git remote 

推送代码时,需要对两个仓库分别执行一次push命令,也就是多次推送

git push github matser 
git push gitee master  

其他参考博文:

博客园 - 雨雪ちゃんのテステ - Git - 【将一个项目同时从本地推送到 GitHub 和 Gitee】

博客园 - 小菠萝测试笔记 - 【如何将本地项目同时上传到 Github/Gitee 并使用 GPG 验证】

以上是关于将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)的主要内容,如果未能解决你的问题,请参考以下文章

同时将本地git仓库提交到gitee和github

Gitee(码云)Github同时配置ssh key

idea 使用idea上传项目到码云(gitee)上 IntelliJ IDEA

VS2013中使用码云gitee建立源代码管理

本地项目托管到gitee

使用码云gitee.com托管代码