適用場景:在不能直接push或者pull主庫(遠程倉庫)的情況下(如公司的代碼庫不能隨意操作),需要先fork到自己的個人倉庫,然後再git clone到本地。
此時需要將主庫的修改更新到本地,再將自己本地的修改與之merge,更新到自己的遠程倉庫,再對主庫發起合併請求merge request,由commiter來review後合併。
操作如下:
(1)fork 遠程倉庫: 進入master主幹代碼頁面,點擊Fork按鈕,Fork個人分支
(2)進入Fork好的個人分支,點擊clone/download按鈕,將彈框顯示的地址複製,在下載代碼的目錄下,右擊鼠標彈框,選擇clone,粘貼之前複製的地址,在本地新建一個文件夾,右擊 git bash here,輸入 git clone [email protected]:xxxxxxxxxxxxxxx.git(自己的遠程倉庫)
(3) git remote -v #查看遠程信息,可以看到自己的遠程倉庫,即fork庫
(4)git remote add upstream [email protected]:xxxxxxxxxxxxxxx.git(主庫:公司的遠程倉庫)
# git remote add 別名 遠程倉庫 ; 紅色字體的名字可以隨意取,,該步驟是爲了添加遠程庫
(5) git remote -v #查看遠程信息,可以看到自己的遠程倉庫以及遠程倉庫
如果報錯,已存在,則刪除 (輸入 git remote remove upstream )
(6)git fetch upstrea (步驟6、7還是步驟8 ,選其一)
拉取倉庫的所有分支,即從原倉庫更新代碼到本地
(7) git merge upstream master_fst8.0 #紅色字體取決於分支名 ,用於合併到本地倉庫
(8)git pull upstream master_fst8.0 # 更新併合並遠程倉庫的代碼到本地(可以理解爲步驟6、7合併)
git pull <upstream> <branch name>
(8)git push 提交到自己的遠程倉庫到fork庫(即自己的遠程倉庫)