formatonly更新是轻浮的Git提交吗?

2024-06-16 12:07:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python项目,我正在进行研究。我在两台不同的机器上工作,最近我发现我的文件有一半使用制表符,另一半使用空格。你知道吗

当我试图在另一台机器上编辑和运行一个文件时,Python对此表示反对,所以我想将所有内容都切换到空格而不是制表符。不过,这看起来像是浪费Git提交—在未提交但正确的文件上运行“Git diff”会使我看起来像是在擦除并替换整个文件。你知道吗

有办法吗?也就是说,我有没有办法“隐藏”这些(IMO)琐碎的变化?你知道吗


Tags: 文件项目git机器编辑内容浪费diff
3条回答

这是完全正确的。将空白重新格式化与同一文件中的其他更改相耦合可能会混淆非空白更改。commit只负责重新格式化空白。你知道吗

不幸的是,在文本层面上,这是一个巨大的变化。最好不要将空白更改与任何其他更改混合使用。这种提交的主题应该是空格更改。你知道吗

如果这个错误没有被公布(只在你的私人回购中),你可以回到过去,修复历史上引入它时的那一点混乱,然后经历修复后续更改的痛苦(必须以正确的缩进方式重新处理)。为了努力,你最终会有一段清白的历史。你知道吗

有,它被称为rebase—但是,您可能希望在每次提交时,在编辑该文件的地方,追溯地向每个文件添加空格,这将非常单调乏味。你知道吗

但是,这样的提交绝对没有错。提交表示对项目的不同功能状态的更改,用空格替换制表符绝对是一种不同的状态。你知道吗

如果您不小心进行了一次非功能性的提交,您将希望使用rebase的一个地方就是。例如,您可能只提交了需要提交的文件的一半。你知道吗

最后一件事:一旦将更改推送到另一台机器上,就不要编辑历史记录(即使用rebase)。机器将失去同步,你的回购将开始慢慢爆炸。你知道吗

相关问题 更多 >