Git-07-分支
查看本地以及远程的分支:git branch -av
绿色的是本地分支 ,红色的是本地追踪远程的分支。
在这个视图里,本地和远程均只有一个master分支。
origin/HEAD
就像一个指针,表示默认分支,你的例子中它指向origin/master
,即origin/master
是默认分支。
删掉也是可以的:git remote set-head origin -d
本地推送新分支
假设在本地创建分支dev,而此时远程是没有分支dev的。
如果想把本地分支dev推送到远程,直接使用git push是会报错的
要告诉git要把当前分支推送到哪个远程仓库,3种方法:
1. git push -u origin dev
2. git push --set-upstream origin dev
3. git push origin 本地分支名:远程分支名
如:git push origin dev:dev_remote ,就是把本地分支dev推送到远程并命名为dev_remote分支
拉取远程新分支
此时远程仓库有master、dev两个分支,而本地只有master分支
拉取远程新分支的步骤:
1:git pull
pull命令会追踪远程仓库的所有分支
此时查看分支就会发现本地仓库已经开始追踪dev分支了,但只是追踪而已,本地并没有dev分支
2. 步骤二有两种方法:
2.1 :git checkout -b localdev origin/dev (这种方法可以为分支起名字,-b localdev就是我们起的名字)
2.2 : git checkout --track origin/dev
但其实拉取远程分支还有一种简单的操作:
将远端分支拉到本地某个新分支 :git pull origin 远端分支名:本地新分支名(相当于 git pull + : git checkout -b dev origin/分支名)
删除远程分支
删除远程仓库的a3分支:
git push origin --delete a3
本地没有a分支,但本地却感知远端的a分支。
检测: git remote prune origin --dry-run
清理无效的 追踪分支(本地中感知的远程分支)
git remote prune origin