为了账号安全,请及时绑定邮箱和手机立即绑定

任何工具在单独运行 go fmt 时在 Git 中重新设置分支?

任何工具在单独运行 go fmt 时在 Git 中重新设置分支?

Go
慕田峪7331174 2021-09-10 16:35:57
我希望X使用源代码格式化工具(如go fmt或indent.我希望工作流程大致包括创建一个新分支master并迭代以下内容并$_覆盖 中的提交X:git cherry-pick $_go fmt ...git commit -a --amend或者甚至git cherry-pick -n $_go fmt ...git cherry-pick --continue不过,我不会期望-n和那样--continue一起玩。此外,一个自然应该做一个go fmt承诺X和go diff X new时完成。但是,此过程中有许多步骤可能会出错,例如-a试图更改原始提交中未更改的文件、go fmt混淆 Git 的修补程序、Git 更改提交日期等。这些都不是特别麻烦,但如果一个快速的工具或更简单的工作流程能更干净地做到这一点,那么我很想知道它。
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

但是如果一个快速的工具或更简单的工作流程能更干净地做到这一点,那么我很想知道它。

正如Joseph K. Strauss在评论中提到git filter-branch应该足够了,再加上go fmt使用三点符号

git filter-branch --tree-filter 'go fmt ...'

您可以在“ git filter-branch-放弃对一系列提交中的一组文件的更改”中阅读更多关于过滤器分支的信息。

该命令将针对所有本地分支运行,并将更改历史记录(因为将为每个修改的提交生成新的 SHA1)。可能需要
Agit push --force将新历史记录发布到其上游存储库:警告其他合作者,让他们重置他们的本地存储库。


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信