gpt4 book ai didi

c++ - 通过撤消琐碎的更改来最小化 git diff

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:33:11 27 4
gpt4 key购买 nike

在使用代码(在我的例子中主要是 ),特别是使用 git 和 gitlab 时,我经常发现自己在处理一个特定的 merge 请求和功能添加方面花费了数周时间。最后,我收到了一个很长的 merge 请求,维护人员很难理解,因为我提交了很多更改。

其中一些更改是有意为之且对手头的功能很重要,其他更改则微不足道,例如修复特定代码部分的缩进,我经常在调试时这样做以提高可读性。但是,为了使 MR 尽可能小,可读性越好,我想在从我的 MR 中删除 WIP 标签之前“撤消”所有不影响代码本身(但仅影响布局)的琐碎更改。因此,有时我发现自己正在检查我的 MR 并手动取消所有这些美化,以使 MR 对审稿人更具可读性。

这是很多愚蠢的工作,可以用在其他地方更好。

是否有我可以使用的脚本或机制(特别是在 代码上)遍历代码并撤消与某个提交有关的所有琐碎更改(例如,空格更改)?这将大大简化我的生活。我可以看到自己为此编写了一个脚本,但我希望有一些我可以使用的 git 魔法,或者其他人已经为我解决了这个问题。有什么建议吗?

最佳答案

最好为此做好计划,并为您打算进入 merge 的更改和那些只是临时的更改保留提交。准备 merge 就像挑选那些重要的提交到一个新分支中一样简单,该分支被 merge 到 main/master 中,如下所示:

工作分支

  • 创建工作分支
  • 提交 1:更改缩进
  • promise 2:实现某事
  • 提交 3:添加调试日志
  • promise 4:改进实现
  • 提交 5:删除一些日志

准备 merge

  • 创建 MR 分支
  • Cherry pick 提交 2 和 4
  • merge 到master

即使您没有为此做好计划并且在混合了临时和永久内容的工作分支中有一些提交,您也可以在挑选“准备 merge ”分支期间仅选择提交的某些部分。这会有多愉快可能取决于您的 git 工具。我使用 IntelliJ IDE Git 集成,这使得像这样的任务变得非常容易。

关于c++ - 通过撤消琐碎的更改来最小化 git diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56234674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com