Git使用小技巧之多個遠程倉庫

想要獲取更多文章能夠訪問個人博客 - 代碼無止境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代碼了。而後,小代同窗就下班回家吃飯了。

結束語

這篇文章,主要是講了如何同時向多個遠程倉庫推送代碼。雖然平時使用場景很少,可是偶爾遇到了這樣的需求仍是很實用的。若是你喜歡個人文章,能夠掃描下方二維碼關注代碼無止境公衆號。

掃碼關注「代碼無止境」
相關文章
相關標籤/搜索