当前位置:首页 > 开发工具及运维 > GIT合并多次提交

GIT合并多次提交

6个月前 (05-25)51

当我们在本地仓库的分支上做开发时,对于一个功能进行了多次提交,在push到远程仓库之前我们希望把这几个相关的commit合并为一个,这样更加简洁,也方便review。

commit 51a874e7ed0efa13c97f1463a42275891f3377ce (HEAD -> master)
Author: zhangjun3 <zhangjun3@xxx.com>
Date:   Fri Dec 6 17:49:19 2019 +0800

    feature B third commit

commit d2f33ab57a8aecd97476913a26e61091c7787cce
Author: zhangjun3 <zhangjun3@xxx.com>
Date:   Fri Dec 6 17:48:51 2019 +0800

    feature B second commit

commit f286d47698a141d2e7f63d5b6b54dceb5275dd3d
Author: zhangjun3 <zhangjun3@xxx.com>
Date:   Fri Dec 6 17:48:04 2019 +0800

    feature B first commit

commit d1dff09fd56e49892d146199f31c1ce5a9270877
Author: zhangjun3 <zhangjun3@xxx.com>
Date:   Fri Dec 6 17:47:19 2019 +0800

    feature A complete.

如果想把 featureB 相关的三次提交合并为一个,可以执行如下命令

git reset --hard d1dff09fd56
git merge --squash HEAD@{1}
git commit -m "feature B complete"

此时使用 git log 查看日志

commit c657056879e22e076df4bea25345a839a9519129 (HEAD -> master)
Author: zhangjun3 <zhangjun3@xxx.com>
Date:   Fri Dec 6 18:01:24 2019 +0800

    feature B complete

commit d1dff09fd56e49892d146199f31c1ce5a9270877
Author: zhangjun3 <zhangjun3@xxx.com>
Date:   Fri Dec 6 17:47:19 2019 +0800

    feature A complete.

三次提交合并为了一次提交记录。

不推荐合并已经push到远程仓库的commit

作者:june.js
来源链接:https://www.cnblogs.com/junejs/p/12686849.html

标签: Git合并

“GIT合并多次提交” 的相关文章

git 的合并原理(递归三路合并算法)

git 的合并原理(递归三路合并算法)

如果 git 只是一行行比较,然后把不同的行报成冲突,那么你在合并的时候可能会遇到大量的冲突;这显然不是一个好的版本管理工具。 本文介绍 gi...

Git基本使用教程(一):入门及第一次基本完整操作

Git基本使用教程(一):入门及第一次基本完整操作

git基本使用教程 传送门:Git基本使用教程(二):基本常用命令 官方文档:Git基础 带着以下问题阅读本文,相信会事半功...

Git(创建与合并分支)

Git(创建与合并分支)

在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分...

git版本回退及代码合并

git版本回退及代码合并

1.查看提交日志 git log 2.命令行查看分支: git branch -l :查看本地分支 git branch -r :...

Git commit合并操作 以及Reset参数理解

git cmd中文乱码解决: git config --global i18n.commitencoding utf-8 git config --global i18n.logo...

git 合并分支到master 上详细步骤(指令加IDEA操作)

git 合并分支到master 上详细步骤(指令加IDEA操作)

    (前提,熟悉git基本原理,以及基本命令) 本博客主要记录下自己在使用git期间的一些问题,主要是创建分支,切换分支,推送分支到...

git 合并冲突后回滚到之前版本

代码合并  TEST-PC@TEST-PC MINGW64 /f/gitwork/test (test-dev) $ git merge --no-ff de...

git 合并两个仓库

git 合并两个仓库

我有两个仓库,一个是gitbook在写一本 一个是放在github的垃圾,这个是我想要开个人网站,但是做的还是不行https://github.com/l...

GIT 操作中 Reinitialized existing Git repository in.......解决方法?

该路径文档中已经存在了.git 文件,可以在当前文件下的终端中输入ls -a 查看现有的文件.有.git 的话就用 rm -rf .git 删除以后...