Git手册 - Git Branch

2021-05-05
git
约 529 字 预计阅读 2 分钟

新建分支

1
2
3
4
5
6
7
git branch testing
# 新建并切换
git checkout -b testing
# 从指定的分支新建分支
git checkout -b feature/MYFEATURE develop
# checkout并追踪一个远程分支
git checkout --track -b develop origin/develop

列出分支

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
git branch

# 列出当前分支已经合并过的分支
git branch --merged

# 列出当前分支未合并的分支 -r为remote
git branch --no-merged -r

# 设置pull分支的默认追踪远程分支
git branch --set-upstream-to=<remote>/<branch> master

追踪分支

1
$ git checkout --track origin/serverfix

分支合并

rebasemerge两种方式 推荐公共分支,发布分支合并用merge, 个人分支,开发分支合并别的分支用rebase

1
2
3
4
# merge
git merge develop
# rebase
git rebase develop

删除分支

1
git branch -d develop

切换分支

1
2
3
git checkout branch
# 跳转到之前的分支
git checkout -

远程分支

远程分支在本地中也是一个索引,比如origin的master,在本地为origin/master, 远程分支无法直接改变,无法切换,只能在和实际的远程分支交互的时候才会更新

更新远程分支

通过fetch可以更新这些分支

1
git fetch origin master

推送远程分支

1
2

git push origin master

拉取远程分支

1
2
3
4
5
git pull origin master
# 如果想省略后面的就要设置跟踪的目标
git branch --set-upstream-to=<remote>/<branch> master
# 这样就可以直接
git pull

删除远程分支

1
$ git push origin :unused_branch

重置和远程同步

1
2
# 放弃本地的修改, 设置成远程分支的HEAD
git reset --hard origin/master

移除远程不存在的分支

1
2
# 移除远程仓库上不存在的分支
git fetch -p

其它

1
2
# 当前的分支名称
git rev-parse --abbrev-ref HEAD
TAG: git scm
文章作者 : Cocding