一、在gitee或github上进行同步

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

比如码云上就能直接从github或gitlab中导入
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_git
只需要填写仓库链接进行简单的设置就能进行同步
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_github_02
如果是未公开的私人仓库可能要提供账号和令牌进行验证
这里还提供了,直接github进行授权以后同步仓库的功能。
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_git_03
需要进行授权
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_git_04
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_java_05
然后就能看到github上面所有的仓库,一键进行导入
同样github也有此类功能
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_github_06
也是进行简单设置即可。
将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_github_07

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

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

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

将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_git_08
把需要进行同步的仓库进行修改
在原来的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

将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)_java_09
原配置如下:

[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