我需要什么git命令来保持干净的提交历史记录?

时间:2019-01-19 21:58:54

标签: git gitlab

我想填补我们通常从其他dev分支合并到master分支的所有人员。他要求我们在打开合并请求之前重新设置分支和压缩提交的基础,以使“提交历史记录很干净”。这都是可以理解的推理。但是,他是AWOL,我不想搞砸了。这就是当前的情况,我想确保我运行了正确的命令以使其保持干净。

enter image description here,他说我上一次尝试进行合并并没有使历史保持整洁,那么正确的命令是什么?

一旦我知道需要做什么,我将重新提出问题。

1 个答案:

答案 0 :(得分:2)

首先确保您拥有目标分支master,在您的本地计算机上是最新的

git checkout master
git pull

然后切换到您打算合并为master的分支,我们将其称为feature

git checkout feature

如果不确定,请在feature的头上附加一个新分支,然后从那里进行变基,这样可以更轻松地(只需检出feature)就可以了。

git checkout -b featureRebase

在母版上进行交互式重新构建

git rebase -i master

rebase命令将做两件事

  1. 找出与master相比,featureRebase分支中添加了哪些提交
  2. 提示您重新排列和压缩提交(由于指定了-i标志)

当系统提示您进行重新排列和压缩时,请选择squash来压缩提交并编写新的提交消息。

如果遇到冲突,请像合并中那样解决它们,然后

git rebase --continue