想要獲取更多文章能夠訪問個人博客 - 代碼無止境。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
代碼了。而後,小代同窗就下班回家吃飯了。
這篇文章,主要是講了如何同時向多個遠程倉庫推送代碼。雖然平時使用場景很少,可是偶爾遇到了這樣的需求仍是很實用的。若是你喜歡個人文章,能夠掃描下方二維碼關注代碼無止境公衆號。