Git分支管理的基本操作


首先從遠端版本庫clone下來一個全新的庫:

git clone username@xxx:/xxx/xxx.git

此時clone下來的,只是master分支,沒有其他分支。

 

 

查看分支:

git branch  #查看本地分支
git branch -r  #查看遠端分支
git branch -a  #查看所有分支,包括本地和遠程的

分支名前面有 * 的,就是當前所在分支。分支名型如remote/origin/xxx的,就是遠端分支。

 

 

創建本地分支:

git branch <user_branch_name>  #在本地創建一個新分支
git checkout -b <user_branch_name>  #在本地創建一個新分支,並且立即切換到這個分支(第一種方式只是創建了一個分支,並沒有切換)

下面是使用 git checkout -b dev 創建的 dev 分支,會提示說已切換至新的分支 dev:

再次使用 git branch 查看分支,會發現本地有兩個分支。其中dev分支前有個 *,說明當前分支是dev:

 

 

切換本地分支:

一個版本庫可能有多個分支,例如現在有主分支master,有開發分支dev,那么從dev分支切換至master分支如下:

git checkout master  #從dev分支,切換到master分支

如上提示,已經切換至master分了。

此時再使用git branch查看分支情況,可以看到master前面有個 * ,說明已經切換到master了:

其實命令行提示尾部括號中的名字,就是當前所在分支:

可以看到,最后面的括號中的master,表明了當前所在分支。

 

 

合並本地分支:

合並分支命令:git merge 的工作流程是:將指定分支,合並至當前分支。

例如需要將 dev 開發分支,合並到 master 主分支上,需要如下兩步操作:

1.切換到主分支

2.將dev合並至master

git checkout master  #切換到master分支
git merge dev  #將dev分支合並至master分支

例如目前有兩個分支,一個master分支,一個是dev分支。

這時新建了一個文件a.txt,在dev分支上完成git add 、 git commit兩步操作,這表明,a.txt是屬於dev分支的,切換到master分支時是看不到a.txt的。

這時切換到master分支,將dev分支合並至master,就會把dev的代碼加入到master中。master也就可以看到a.txt了。

 

 

刪除本地分支:

一個分支使用完了,可以刪除掉。例如這個分支就是為了修復某一個bug的,bug修好了,新代碼合並至master之后,這個分支就可以刪除了。

git branch -d <branch_name>  #刪除本地branch_name分支

另外:刪除當前所在分支是不行的,會提示刪除失敗。

 

 

推送本地分支到遠端:

#下面local_branch_name用來指明要推送本地哪個分支,remote_branch_name用來指明遠端接收這個分支后叫什么。
git push origin [local_branch_name]:<remote_branch_name> 


#如果希望推送當前分支,那么local_branch_name:可以省略
git push origin remote_branch_name
#另外本地分支名與遠端分支名最好保持一致

其實只有master一個分支時做推送操作的命令中 git push origin master,最后這個master其實就是遠端的master分支名,master其實也是一個分支,git要求版本庫中必須至少要有一個分支,默認叫master。

 

 

刪除遠端分支:

刪除遠端分支有兩種方式:

1.直接branch命令刪除遠端:

git branch -r -d <remote_branch_name>  #-r表示操作的是遠端  -d表示執行刪除操作

2.通過推送一個空的分支到遠端,用空分支覆蓋掉遠端分支,從而刪除這個遠端分支:

git push origin :<remote_branch_name>  #注意,origin后面有一個 空格,以及一個冒號,這是必不可少的

3.刪除已被刪除的遠程分支所對應的本地分支:

一個遠程分支被刪除了,可是本地還存在其對應的分支引用,可以這樣刪除:

git fetch -p

 

 

 

 拉取遠程分支:

1.直接拉取某一分支:

git checkout -t <remote_branch_name> #-t 意為 track,即跟蹤一個遠程分支

2.在初次clone時直接clone某一分支(默認是clone下來主分支master):

git clone <repository> -b <branch_name>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM