git 關於本地分支和遠程分支的創建、切換、合併和刪除

本地分支和遠程分支

 

克隆

 //示例地址,不可用
 
//下載遠程master分支,並且本地分支名字爲master
git clone https://github.com/master-dev.git

//指定下載遠程dev分支,並且本地分支名字爲dev
git clone -b dev https://github.com/master-dev.git

創建本地分支,切換分支

假設遠程倉庫只有mater分支

git clone https://github.com/master-dev.git 

此時會在本地生成一個master分支,用git branch --all 查看全部分支

git checkout -b dev  //創建並選擇分支
相當於
git branch dev  //創建分支
git checkout dev  //選擇分支

然後

git push origin dev  //這樣遠程倉庫也有一個dev分支了

此時如果直接git push 會報錯,因爲沒有創建本地dev和遠程origin/dev的關聯,
可通過git branch -vv查看本地分支和遠程分支的關聯關係

git branch -vv

可通過git branch --set-upstream 創建關聯關係,就可以直接git push 提交

git branch --set-upstream dev origin/dev

假如遠程分支已存在,可在創建本地分支時與遠程分支關聯

git checkout -b dev origin/dev

合併分支

先切回本地master分支,然後用merge方法合併

git checkout master
git merge dev  //合併本地分支
git push origin master   //推送至遠程master即爲合併後的分支

刪除分支

git branch -d dev  //刪除本地分支
git push origin -d dev  //刪除遠程分支

一個本地分支問題

原項目在 master 分支,拉取之後創建本地dev分支,然後切換dev分支,創建一個文件

touch README.txt
vim README.txt
按s開始編輯,編輯結束按Esc , shift+: , wq , enter回車退出

切回master分支發現master分支下也有一個README.txt文件,說好的分支之間不互相印象,爲什麼dev分支下的修改也會被同步到master分支呢?

原因在於,新建文件以後,沒有commit 還只是一個本地文件,在哪都能看到,只要add 、commit後再切換回master,master分支就不顯示這個文件了,dev才真的成了一個獨立的分支,所以切換分支之前,確保當前分支沒有未提交的修改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章