背景:在企業中我們管理一個項目用的基本上都是git,假設我們現在的分支是master,然后我們需要開發一些新功能,但是因為一些原因我們不能在master分支上開發,所以要根據master分支新建一個我們自己的特性分支,在這個分支開發完成之后再在合適的時間點合並到master分支之后發布到測試環境。
根據master分支新建分支
查看本地和遠端共有多少分支
git branch -a
可以看到本地和遠端都只有一個master分支。(前端帶有*符號的是本地當前所在分支)。
新建本地分支並切換到新建的分支
git checkout -b master-test
可以看到現在共有三個分支,本地有兩個分支,並且當前分支在新建的分支之下。
提交新建的本地分支到倉庫
git push origin master-test
此時可以看到共有4個分支了,且本地和遠程是一一對應的。
但是這個時候你如果想使用git pull命令從這個origin/master-test倉庫拉取代碼,則會報錯。
本地分支與遠程分支建立關聯
git branch --set-upstream-to=origin/master-test master-test
此時再執行git pull命令則不會報錯了。
當然,如果不想建立關系,每次pull的時候指定倉庫名也是可以的。
git pull origin master-test
至此,我們就完成了根據主分支新建了我們自己的分支,並且將自己的分支push到了倉庫,並且倉庫和本地的master-test建立了關系。
拉取master的提交合並到test分支
現在我們的開發工作都在test分支上進行,其他人可能在master分支上會有新的提交,此時我們就想要把master分支其他人的提交合並到我們的test分支上來