一、远程新建分支后,本地查看不到,使用以下命令同步
git remote # 列出所有远程主机
git remote update origin --prune # 更新远程主机origin 整理分支
git branch -r # 列出远程分支
git branch -vv # 查看本地分支和远程分支对应关系
git checkout -b gpf origin/gpf # 新建本地分支gpf与远程gpf分支相关联
二、git 分支操作
1.创建分支
git branch dev
PS:其中dev是你要创建的本地分支名
2.查看本地分支
git branch
3.删除本地分支
git branch -d dev
PS:dev是你要删除的本地分支名
以上三步操作的截图
4.查看远程分支
git branch -a
如下图:
PS:红色标识带remotes/就是远程分支
5.切换分支
git checkout master
PS:master为你要切换的分支名
以下内容,因权限问题,笔者没办法操作,所以直接引用其他博主的结论
6.删除远程分支
git branch -r -d origin/branch-name
git push origin :branch-name
7.如果远程新建了一个分支,本地没有该分支
git checkout --track origin/branch_name
本地会新建一个分支名叫branch_name,会自动跟踪远程的同名分支branch_name
8.如果本地新建了一个分支 branch_name,但是在远程没有,这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步
git push --set-upstream origin branch_name
9.合并分支到master上
首先切换到master分支上
git checkout master
如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
然后我们把dev分支的代码合并到master上
git merge dev
然后查看状态
git status
三、git批量删除
1.通配符方式
先理解git branch --list feature*
,采用通配符*去匹配前缀为feature的所有分支并以列表的方式展示
如我分支前缀为luxinzhen去匹配查出包含3个分支的列表
根据通配符查询基础,我们去做分支批量删除(原理和sql子查询用in删除很像)
git branch -D $(git branch --list feature*)