在使用代码(在我的情况下,大多数情况下是c++),尤其是在git和gitlab上工作时,我经常发现自己在处理特定的合并请求和功能添加工作了几周。最后,我收到了一个很长的合并请求,维护者很难理解,因为我做了很多更改。
这些更改中的一些是有意的且对手边的功能很重要,而其他更改则微不足道,例如修复了代码的特定部分的缩进,我经常在调试时提高其可读性。 但是,为了使MR尽可能小,我想在撤消MR上的WIP标签之前“撤消”所有不影响代码本身(但仅影响布局)的琐碎更改。 因此,我有时会发现自己正在阅读我的MR,并手动撤消所有这些修饰,以使MR对审阅者更具可读性。
这是很多愚蠢的工作,可以花在其他地方。
是否存在一个脚本或机制(我可以使用(特别是在c++代码上)使用该脚本或机制来遍历该代码并撤消有关某个提交的所有琐碎更改(例如,空白更改)?这将大大简化我的生活。 我可以看到自己为此编写了脚本,但是我希望可以使用一些git魔术,或者希望已经为我解决了这个问题的其他人。 有什么建议吗?
答案 0 :(得分:5)
最好对此进行计划,并保留要合并的更改和仅对您临时保留的更改的提交。这样,准备合并就很容易了,就像樱桃将那些重要的提交挑选到一个新分支中一样,该分支合并到了main / master中,就像这样:
即使您没有为此计划,并且在您的工作分支中混合了临时和永久性内容,您也只能在樱桃挑选到“准备合并”分支期间选择提交的某些部分。这将是多么令人愉快可能取决于您的git工具。我使用IntelliJ IDE Git集成,这使类似的任务变得非常容易。