gitlab merge方式修改

Gitlab 在处理提交的 Merge Requests 时,默认情况下是使用正常的merge后在提交一次,相当于git merge --no-ff

但如果要合并的分支 commit 记录比较多的话会使得 master 分支的log 版本会非常多,使用 git log 做追溯的时候比较难抓住重点。

期望master分支内只展示提交 Merge Request 时的描述内容,将全部的 commit 合并成为一条记录,相当于git merge --squash && git commit

经过各种试验,最终发现gitlab merge 时使用的方法是(根据版本路径可能会稍有不同,我这使用的版本是 GitLab Community Edition 10.7.3

找到下面这个文件
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/git/repository.rb

将 rugged_merge 内 option 的配置做如下修改
parents: [our_commit, their_commit] 去掉 their_commit
修改后即为

         options = {
            #parents: [our_commit, their_commit],
            parents: [our_commit],
            tree: merge_index.write_tree(rugged),
            message: message,
            author: committer,
            committer: committer
          }

修改完毕之后记得重启gitlab gitlab-ctl restart

下面就可以测试效果了
比如新建一个分支,并在该分支内提交多次commit。
然后在gitlab上提交如下的 Merge Request


屏幕快照 2018-11-02 上午12.58.23.png

merge 成功后,在master分支使用 git log 查询,最新的一次 commit 记录展示为在master上展示的内容

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 10,655评论 1 45
  • 趁我还有梦,我想去闯闯。——大栗致自己 过了今天,满27了。刚刚给老板和领导发完邮件说辞职了。领导问,不辞职行吗?...
    有杕之杜阅读 1,715评论 2 2
  • 记录了民国时期的人物,那些历史人物的平凡的小故事,贫穷、恋爱、失恋、吃醋、友谊等等,好多小故事,人物也很多,主角之...
    乙淳阅读 2,985评论 0 0
  • 这儿是康庄大道,或者泥泞小路,但在迷失的大脑里,这儿是迷雾重重的幻境,纠结的,走不开,想哭,难受。 ...
    孤独患者ljy阅读 1,760评论 0 0
  • 07222王翠英 昨天考试时,阿渡老师说今天福田中心书城,曹文轩老师会有个新书签售会,晚上回到家,就把曹文轩老师的...
    王翠英阅读 4,852评论 0 1

友情链接更多精彩内容