如何将项目同时托管到GitHub和Gitee
# 场景
当我们想把项目同时托管到GitHub、Gitee,本地只维护一份代码?该如何配置?
本文详细介绍了如何将自己的项目同时发布到GitHub和Gitee平台,同时维护两个平台的代码仓库,减少来回切换维护成本!
# 1 配置GitHub
cd ~/.ssh #
ssh-keygen -t rsa -C "fire@163.com"
1
2
2
这里名称改一下便于区分,id_rsa_github
# 2 配置Gitee
cd ~/.ssh #
ssh-keygen -t rsa -C "fire@163.com"
1
2
2
同理名称改一下便于区分,id_rsa_gitee ,到此会在~/.ssh/目录下生成四个文件
# 3 在GitHub和Gitee添加公钥
复制id_rsa_github和id_rsa_gitee的内容,分别配置GitHb和Gitee,添加ssh-key
# 4 添加配置文件
创建一个config文件,添加配置内容如下:
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 5 测试
ssh -T git@github.com
ssh -T git@gitee.com
1
2
2
# 6 设置用户名邮箱
git config --global user.name "Mr.Fire"
git config --global user.email "fire@163.com"
git config --list --查看
1
2
3
4
2
3
4
# 7 项目同时提交到github和gitee
# 创建仓库
首先要在GitHub和Gitee上分别创建两个仓库,也可以通过导入其他平台仓库的功能进行导入
# 修改配置文件
在项目下的.git目录下打开config文件,内容如下:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "github"]
url = git@github.com:FireHH/Java-essay.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = origin
merge = refs/heads/master
postBuffer = 524288000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
把Gitee的仓库地址也添加到配置中
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "gitee"]
url = https://gitee.com/firegitspace/java-essay.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[remote "github"]
url = git@github.com:FireHH/Java-essay.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = origin
merge = refs/heads/master
postBuffer = 524288000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
到此,大功告成! 推送代码时,分别推送即可
git push github master
git push gitee master
1
2
2
最后更新时间: 2024/08/28, 17:34:23