git合并分支并删除分支多余分支

有时候我们需要在本地拉一个dev分支用来开发,开发完成后并不是直接提交到服务器,而是在本地合并到master分之后提交到服务器,这样就不会在服务器显示多余的分支,而大多数时候是在提交到服务器再merge到对应分支,这样在代码仓库里是能看到对应的分支。

本地合并分支后提交到服务器仓库

当前目录结构如下,且位于master分支

1
2
test
└── README.md

新建分支

1
git branch dev

切换分支

1
git checkout dev

以上两步可以整合为一个命令:

1
git checkout -b dev   #创建并切换分支

创建修改

1
2
3
4
5
6
7
$ vim README.md 
$ git status
位于分支 dev
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改:     README.md

提交修改到暂存区

1
git add README.md

提交到分支

1
git  commit -m"第二次提交"

切换分支到master

1
git checkout master

merge dev分支到master

1
git merge dev

提交修改到服务器

1
git push  -u origin master

删除本地分支

1
git branch -d dev

提交到服务器仓库后再merge分支

当前目录结构如下,且位于master分支

1
2
test
└── README.md

新建分支

1
git branch dev

切换分支

1
git checkout dev

创建修改

1
2
3
4
5
6
7
$ vim README.md 
$ git status
位于分支 dev
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改:     README.md

提交修改到暂存区

1
git add README.md

提交到分支

1
git  commit -m"第三次提交"

提交修改到服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ git push -u origin dev
枚举对象: 5, 完成.
对象计数中: 100% (5/5), 完成.
使用 4 个线程进行压缩
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 297 bytes | 297.00 KiB/s, 完成.
总共 3 (差异 1),复用 0 (差异 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote: 
remote: Create a pull request for 'dev' on GitHub by visiting:
remote:      https://github.com/xdthesun/test/pull/new/dev
remote: 
To https://github.com/xdthesun/test.git
 * [new branch]      dev -> dev
分支 'dev' 设置为跟踪来自 'origin' 的远程分支 'dev'

切换分支到master

1
git checkout master

merge dev分支到master

1
git merge dev

提交修改到服务器

1
git push  -u origin master

删除本地分支

1
git branch -d dev

也可以删除远程分支

1
2
3
4
5
$ git branch -a   #查看远程分支名
remotes/origin/HEAD -> origin/master #当前位于master分支
  remotes/origin/dev
  remotes/origin/master
$ git push origin --delete dev #服务器上有删除分支的记录
投食