作者:mobiledu2502884523 | 来源:互联网 | 2022-10-23 12:12
当使用代码(在我的情况下,大多数情况下是c ++),特别是使用git和gitlab时,我经常发现自己在处理特定的合并请求和功能添加工作了几周。最后,我提出了一个很长的合并请求,维护者很难理解,因为我已经做了很多更改。
这些更改中的一些是有意且对手边的功能很重要,而其他更改则微不足道,例如修复了代码的特定部分的缩进,我经常在调试时提高其可读性。但是,为了使MR尽可能小,我希望在从MR移除WIP标签之前“撤消”所有不影响代码本身(但仅影响布局)的琐碎更改。因此,我有时会发现自己正在阅读我的MR,并手动撤消所有这些修饰,以使MR对审阅者更具可读性。
这是很多愚蠢的工作,可以花在其他地方。
我是否可以使用脚本或机制(特别是在C ++代码上)遍历代码并撤消有关某个提交的所有琐碎更改(例如,空格更改)?这将大大简化我的生活。我可以看到自己为此编写了脚本,但是我希望可以使用一些git魔术,或者希望已经为我解决了这个问题的其他人。有什么建议么?
1> Suma..:
最好对此进行计划,并保留要合并的更改和仅对您临时保留的更改的提交。这样,准备合并就很简单,就像樱桃将那些重要的提交挑选到一个新分支中一样,该分支被合并到main / master中,如下所示:
工作部门
创建一个工作分支
提交1:更改缩进
提交2:实施一些东西
提交3:添加调试日志
承诺4:改进实施
提交5:删除一些日志
准备合并
创建一个MR分支
Cherry Pick提交2和4
融入大师
即使您没有为此计划,并且在工作分支中混合了临时内容和永久内容,也可以在樱桃选择进入“准备合并”分支的过程中仅选择部分提交。这将是多么令人愉快可能取决于您的git工具。我使用IntelliJ IDE Git集成,这使类似的任务变得非常容易。