git branch -d branch_name 删除本地分支
git branch -D branch_name 强行删除本地分支
git push origin :dev 删除远程dev分支(将一个空分支推送到远程dev分支)
git push origin --delete branch_name 删除远程分支
git remote show origin 显示远程分支,及push / pull URL
git remote prune origin 删除本地存在而远程已不存在的分支
git fetch -p 获取远程分支代码,并删除本地存在而远程已不存在的分支(获取同时并删除,上一条只是删除, p代表的也是prune)
以下转自:http://blog.csdn.net/cherishhere/article/details/52606884
1:其实在从远程分支分出来的分支都是跟踪分支(track),当对该分支进行 push 和 pull 时,如果该分支和远程分支同名 git 会知道推送到远程哪个分支,从哪个远程分支同步到本地分支。其实每次克隆一个仓库时,本地都会新建一个 master 分支来track 远程的 origin/master。如果不同名,我们需要人为指定 git push origin branch_name
2:
如果本地新建了一个分支 branch_name,但是在
远程没有,这时候
push 和 pull 指令就
无法确定该跟踪谁,一般来说我们
都会使其跟踪远程同名分支,所以可以利用
git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个
branch_name 分支,然后
本地分支会
track
该分支。后面再对该分支使用 push 和 pull 就
自动同步。无需再指定分支。
3:跟踪远程分支
1)如果 远程新建了一个分支, 本地没有该分支,可以利用 git checkout --track origin/branch_name ,这时本地会 新建一个 分支名叫 branch_name ,会 自动跟踪 远程的同名分支 branch_name。![]()
![]()
从图中就可以看到本来远程有一个 test1 分支,本地没有,利用该指令后,本地分支就出现了 test1。
2)用上面 1) 中方法,
得到的分支名永远
和远程的
分支名一样,如果想
新建一个本地分支不同名字,同时跟踪一个远程分支可以利用:
git checkout -b
new_branch_name branch_name
这条指令本来是根据一个
branch_name 分支分出一个本地分支
new_branch_name,但是
如果所根据的分支
branch_name 是一个
远程分支名,那么本地的分支会
自动的
track 远程分支。建议
跟踪分支和
被跟踪远程分支
同名
总结:一般我们就利用
git push --set-upstream origin branch_name 来
在远程创建一个
与本地branch_name 分支同名的分支并
跟踪;利用
git checkout --track orgin/branch_name 来在本地创建一个与
branch_name 同名分支
跟踪远程分支。