Gitlab管理之八–Gitlab之挤压提交信息

1. 简介

在开发的时候可能由于频繁的提交信息,比较零散和片断,比如在提交多少次后,想做一个总结。这时候可以把前面几个合并成一个提交信息。

2. 进入到cookbook项目,并切换到squash-branch分支。
mike@win10-001 MINGW64 ~/cookbook/cookbook (rebase-branch)
$ git checkout -b squash-branch
Switched to a new branch 'squash-branch'
3. 在squash-branch分支下创建两个提交 ,并把它两个提交挤压到一起。
mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$ echo "1" >> README.md

mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$ git add .
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.

mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$ git commit -a -m 'wip1'
[squash-branch 4e54db8] wip1
  1 file changed, 1 insertion(+)

mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$ echo "2" >> README.md

mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$ git add .
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.

mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$ git commit -a -m 'wip2'
[squash-branch 5d37a65] wip2
  1 file changed, 1 insertion(+)
4. 通过以下命令可以查看我们的提交历史。
mike@win10-001 MINGW64 ~/cookbook/cookbook (squash-branch)
$  git log --oneline
5d37a65 (HEAD -> squash-branch) wip2
4e54db8 wip1
f5f7fde (rebase-branch) Another commit
acb491e (master) Commit in master
5e1ebdd (origin/master) Merge branch 'first-branch'
dc7b6d5 (first-branch) Readme changed
53ec2ca Added readme file
5. 把wip1和wip2的提交信息挤压在一个更好的提交信息中,执行以下命令。此时会打开一个编辑器。
$ git rebase –i HEAD~2

注解: HEAD~2 代表着我们想挤压最后两个提交。假如你想要挤压最后4个提交,那么使用HEAD~4

原始:
这里写图片描述

改变后:
这里写图片描述

6. 第4步编辑保存后,Git会打开另外一个编辑窗口,在这个窗口中,编辑提交信息并保存。会弹出如下画面。
$ git rebase -i HEAD~2
[detached HEAD 48f7dae] Added two number to the readme
  Date: Sun Jun 24 17:33:08 2018 +0800
  1 file changed, 2 insertions(+)
Successfully rebased and updated refs/heads/squash-branch.
7. push该分支到gitlab服务器。
$ git push origin squash-branch
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (9/9), 839 bytes | 104.00 KiB/s, done.
Total 9 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for squash-branch, visit:
remote:   http://gitlab.aishangwei.net/root/cookbook/merge_requests/new?merge_request%5Bsource_branch%5D=squash-branch
remote:
To gitlab.aishangwei.net:root/cookbook.git
  * [new branch]      squash-branch -> squash-branch

猜你喜欢

转载自blog.csdn.net/zangxueyuan88/article/details/81081533
今日推荐