27 August 2019

最近在维护一个开源项目,想同时在github和gitee上做版本管理,gitee上有个功能可以把github上的项目同步过来。 这个功能挺好用的,我只要每次将项目更新推送到github,然后在gitee上点击刷新就可以将最新的代码从github同步过来。

但是,看了一眼gitee上的说明,如果是从github同步过来的项目,就没办法得到网站的优先推荐,也不能选评最有价值开源项目等。虽然这也没什么大不了,但是辛辛苦苦维护要给项目,总是希望能被好好推广让更多人知道。

于是就上网找了找看能否同时将一个项目推送到github和gitee,来代替通过同步刷新的方式从github同步到gitee的方式。

有了互联网的好处就是:只要你想到的,总有人比你先想到;只要你能准确的提出问题,就能找到你想要的答案。 谷歌结果参上: search_search

结果当然是可以实现的,具体步骤如下: 这里我们用github和gitee两个git仓库为例:

假设你已经将项目上传到github,具体怎么上传这里不再赘述;如果你连这个也不清楚,辣么你可以看看我其他关于娱乐八卦的文章了。 首先在项目控制台执行

git remote -v

查看到当前项目的远程仓库地址如下:

origin  https://enilu:mypassword@github.com/enilu/material-admin.git (fetch)
origin  https://enilu:mypassword@github.com/enilu/material-admin.git (push)

这里说明下,由于我自己有多个github账号,又懒得配置ssh key,所以直接更改了.git/config文件用:用户名:密码@github.com的方式来管理多个账号的问题。

那么接下来就需要将该项目同时添加到gitee仓库

git remote add gitee https://gitee.com/enilu/material-admin.git

推送到远程仓库:

git push -u gitee

这样就将项目也推送到gitee仓库

后续代码有更新的时候,先提交艾玛,然后使用下面两个命令分别提交到github和gitee

git push -u origin
git push -u gitee

如你所见,上面的方式我们需要推送两次,那么能不能推送一次就可以同时推送到githu和gitee呢,答案是当然可以。

首先删除刚才添加的gitee远程仓库地址

git remote rm gitee

然后用下面命令添加:

git remote set-url --add origin https://gitee.com/enilu/material-admin.git

最后再查看远程仓库地址信息

git remote -v

origin  https://enilu:mygithubpassword@github.com/enilu/material-admin.git (fetch)
origin  https://enilu:mygithubpassword@github.com/enilu/material-admin.git (push)
origin  https://enilu:mygiteepassowrd@gitee.com/enilu/material-admin.git (push)

当然如果记不住命令,也可以直接更改.git/config配置文件,将文件内容更改为如下所示:

[remote "origin"]
	url = https://enilu:mygithubpassword@github.com/enilu/material-admin.git
	fetch = +refs/heads/*:refs/remotes/github/*
    url = https://enilu:mygiteepassowrd@gitee.com/enilu/material-admin.git

怎么样,是不是很简单。 最近金毛瞎搞,搞不好哪天你得github账号就被删除了呢,多存一份放到gitee上也多一分安全。

郑重声明 本人不是gitee的托。





blog comments powered by Disqus
Fork me on GitHub