压扁Git提交

我每天都使用Git,并且写了Git指南和一个Git备忘单在过去。

我认为自己是Git的粉丝,但是…我不是Git的专家。

提交,获取原点,拉原点,压入原点..这就是我每天使用Git的时间。

而我呢一些Git:

Git可以做的高级事情让我震惊。它可能非常复杂,我倾向于避免所有这些复杂性。我几乎从不在命令行中使用Git,而是使用GitHub桌面这是有史以来最简单,最出色的Git客户端。

我有时做的两件事是采摘樱桃挤压提交

让我们来谈谈。

在我是唯一开发人员的项目中,这意味着我所有的个人项目,我都会在可能的情况下倾向于使用master。例如,如果我要进行简单的更改,或者将新帖子添加到博客中。快速且不间断的东西。

但是,在某些情况下,我不使用这种方法,而是为大型功能创建了一个分支。

这也是基于团队或开源项目工作时的默认设置。

您创建一个分支,并经常提交。尽早且经常进行提交是一个很大的优势,因为您可以放心地编写代码,使您始终可以返回到工作状态,或者至少返回到您知道某件事情起作用的状态。

您可能会执行一系列快速提交,其中消息为“确定”,“尝试此操作”或“修复愚蠢的错误”。

但是在某些时候,您需要收敛到稳定状态并将更改提交回master或您想要的任何分支。

在此之前,您想做一件事:压缩提交。

的GitHub可以在合并“合并请求”时为您自动执行此操作,而这是我过去在公共开放源代码存储库中经常使用的工作流程。

您只看到一个提交,而不是看到“拉取请求”中包含的所有单个提交,并且在PR合并过程中,您可以编写详细且专用的提交消息和描述。

这将消除先前所有与合并分支的分支不同的Git提交,并删除所有您可能还原了更改的提交,依此类推。

这正在压榨GitHub PR流程。您也可以在GitHub之外压缩提交。

在分支上完成工作后,将母版(或您要合并的任何其他分支)合并到其中:

git merge master

因此您可以在那里处理任何更新冲突。

然后您检出master,然后从那里运行:

git merge --squash <your-feature-branch>

接着

git commit

这只是您可以使用的可能工作流程之一,并且使用GitHub完成所有工作非常简单,并且该选项可以使您头疼最少。


更多git教程: