從一個git倉庫提交代碼到另外一個git倉庫

在實際的開發中,有可能遇到須要將A倉庫的某個branch的代碼獨立成爲一個新的倉庫B。咱們須要的不單單是這個branch的最新提交的代碼,而是須要它的整個提交歷史。這種需求對於git來講很是簡單,主要依靠git remote命令來實現。git

把當前代碼提交到另外一個遠程git倉庫

假如倉庫repo_a當前位於branch_a,要求將branch_a的整個數據(包括提交歷史)所有提取出來,並創建一個新的倉庫repo_b。這裏假設倉庫repo_b已經被創建。
git remote add基本語法以下。name和url是必須的。服務器

git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>fetch

一、 將倉庫repo_b的URL添加到工做倉庫的remote。url

git remote add origin_repo_b git@server_ip:/path/repo_b.git

(origin_repo_b:本身起的名字,只要不與現有的remote名重複便可)
(git@server_ip:/path/repo_b.git:repo_b的遠程路徑)code

二、將代碼推送到遠程repo_b。server

git push origin_repo_b branch_a

(origin_repo_b:遠程倉庫repo_b的名字)
(branch_a:倉庫repo_a的的branch_a分支)ip

三、克隆倉庫repo_b,檢查是否push成功。開發

git clone git@server_ip:/path/repo_b.git

將一份相同的代碼提交到多個不一樣的git託管服務器(多個git倉庫)

方法很是類似,多使用到了命令git remote set-url --add [--push] <name> <newurl>
假設在遠程的git服務器上又新增了一個倉庫repo_c,如今要求repo_b、repo_c提交的代碼必須一致。
一、將遠程repo_c配置到當前的工做的本地git倉庫中rem

git remote set-url --add origin_repo_b git@192.168.1.101:~/project/repo_c.git

這句話的意思是,將遠程倉庫git@192.168.1.101:~/project/repo_c.git也加入到origin_repo_b這個名字下面管理it

二、將代碼同時提交到遠程倉庫repo_b和遠程倉庫repo_c

git push origin_repo_b branch_a
相關文章
相關標籤/搜索