1. 查看分支:
显示远端服务器上的所有的分支:
git branch -r
罗列出来的分支如下:
m/master -> origin/master
origin/xx_1
origin/xx_2
如果我们想把 origin/xx_1 分支拉取下来:
git checkout xx_1
查看本地分支:
git branch
前边带 * 的是当前所在的分支
2. 如果想切换分支:
比如现在有两个分支:
develop
master
我们想要从master分支切换到develop分支:
git checkout develop
3. 创建分支:
-
创建了之后,不自动切换到分支下:(这是默认的从master创建分支,从develop创建分支,看7)
git branch [新分支的名字]
-
创建分支后,自动切换到分支的名字下:
git checkout -b [新的分支的名字]
这是默认的从当前信息创建分支,从develop创建分支,如果想从其他分支上创建一个分支,如下
git checkout -b [new branch] [src branch]
4. 删除分支:
-
删除分支:
git branch -d [要删除的分支]
-
强制删除:
git branch -D [要删除的分支]
5. 创建/删除 远程分支:
创建:
git push origin [分支的名字]
删除:
git push origin :heads/[name] 或 $ git push origin :[name]
或
git push origin --delete [branch]
6. 更新远程分支:
需要指定要更新的分支,如果 git pull 则全部分支会更新
master分支的更新
git pull origin master
其他分支的更新
git pull origin develop
7. 例子:
我现在在某个分支上(branch_a)提交了多余的一些内容,我想将最近提交的多个提交去掉,粗暴的方法如下:
git checkout branch_a
git log
git checkout [特定commit]
git branch -D branch_a # 删除本地的 branch_a 分支
git checkout -b branch_a # 新建本地的分支
git push origin --delete branch_a # 删除远程 branch_a 分支
git push origin branch_a # 将本地提交到远程 branch_a,因为现在没有,所以新建了 branch_a 分支