想要获取更多文章能够访问个人博客 - 代码无止境。git
这是一个普通的工做日,小代正在勤勤恳恳的写代码。这时陈BOSS走到小代身边,跟小代说:“咱们的代码须要同时推送到Github和码云两个仓库,你研究一下怎么搞吧。” 乐于研究和学习的小代天然是坚决果断的答应了下来。程序员
好,咱们先来看下完成这篇文章的学习须要准备哪些东西。天然是一个本地的git仓库。github
mkdir git-test
cd git-test
git init
touch README.md
复制代码
执行了这几行命令以后,咱们还须要在Github和码云上分别新建两个远程仓库。到这里咱们就有了一个和小代差很少的本地环境。下面咱们就一块儿来看下小代是经过怎样的操做来实现陈BOSS的需求的。bash
首先小代思考的是如何在一个项目中添加两个远程仓库。通过一番搜索,小代知道了下面的命令能够给仓库添加远程仓库。学习
git remote add [shortname] [url]
复制代码
PS:咱们解释一下这行命令的两个参数,第一个参数其实就是咱们后面推送到这个远程仓库的时候都使用这个名称来代替仓库地址,第二个参数就是远程仓库的地址了,这句命令应该很好理解。fetch
而后小代就在本地仓库根目录执行了下面两行命令,为本地仓库添加了两个远程仓库。ui
git remote add gitee https://gitee.com/gancy/git-test.git
git remote add github https://github.com/ganchaoyang/git-test.git
复制代码
而后咱们修改README文件后,能够分别往两个仓库推送代码。url
git add *
git commit -m "first commit"
git push -u github master
git push -u gitee master
复制代码
经过两句git push
命令咱们确实能够向两个远程仓库推送代码,可是做为一个喜欢偷懒的程序员的小代同窗毫不知足于此,因而他就想有没有一种方式能够一句命令就同时push到两个远程仓库。因而乎就有了下面的操做。小代修改了.git/config文件中的内容。原文件内容以下:spa
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "gitee"]
url = https://gitee.com/gancy/git-test.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[remote "github"]
url = https://github.com/ganchaoyang/git-test.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = gitee
merge = refs/heads/master
复制代码
修改后的内容为:code
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://gitee.com/gancy/git-test.git
url = https://github.com/ganchaoyang/git-test.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
复制代码
只是将两个remote
合并成了一个而已,而后再执行git push
命令就会发现,会一次性向两个仓库push
代码了。而后,小代同窗就下班回家吃饭了。
这篇文章,主要是讲了如何同时向多个远程仓库推送代码。虽然平时使用场景很少,可是偶尔遇到了这样的需求仍是很实用的。若是你喜欢个人文章,能够扫描下方二维码关注代码无止境公众号。