Git 推送到多個倉庫
Github 現在支援無限私有倉庫了,所以我把之前儲存在 Bitbucket 上的一些倉庫轉移到了這裡來。 不過原來 Bitbucket 上的倉庫也沒有刪掉,我是想可以做一個備份倉庫來用。
剛開始我是想這樣做: 把倉庫轉移到 Github 上,origin 的 fetch 的 push 都設定為 Github 倉庫; 然後 Bitbucket 作為另一個 remote,每次更新了 origin 之後再 push 到這裡來。
不過後來我看到 Git 的 remote 是可以設定多個 URL 的,於是就改成了下面這個做法。
使用git remote
命令的set-url
子命令,--add
引數就可以為一個 remote 額外新增 URL。
所以把 Github 作為 remote,設定好倉庫之後,使用下面的命令就可以直接新增一個額外的倉庫地址,作為額外 push 的目標來用:
git remote set-url --add --push origin https://bitbucket.org/user/project.git
添加了這個 URL 之後,Git 預設的 Pull/Fetch 操作仍然是從 origin 裡配置的 Github 地址進行,
而 Push 操作則可以只需要執行一個git push
命令,一次性把倉庫推送到 Github 和 Bitbucket 兩個倉庫去。
這種配置就比較適合我這種新增備份倉庫的場景了。
這個小技巧可以從 Git 文件的這裡 找到說明。