仅格式更新是无聊的Git提交吗?

时间:2016-07-07 02:12:04

标签: python git

我有一个我正在研究的Python项目。我一直在研究两种不同的机器,最近我发现我的一半文件使用了标签,另一半使用了空格。

当我试图在另一台机器上编辑和运行文件时,Python反对这一点,所以我想将所有内容切换到空格而不是制表符。然而,这似乎浪费了Git提交 - 在未提交但正确的文件上运行'git diff'使它看起来像我正在消灭并替换整个文件。

有解决方法吗?也就是说,有什么方法可以“隐藏”这些(IMO)无聊的变化吗?

3 个答案:

答案 0 :(得分:5)

有,它被称为rebase - 但是,您可能希望在编辑该文件的每个提交中追溯地为每个文件添加空格,这将非常繁琐。

但是,像这样的提交绝对没有错。提交表示更改项目的不同功能状态,用空格替换选项卡肯定是一种独特的状态。

想要使用rebase的一个地方是,如果您意外地进行了非功能性提交。例如,您可能只提交了所需文件的一半。

最后一件事:在您将更改推送到另一台计算机后,永远不要编辑历史记录(即使用rebase)。机器将不同步,你的回购将开始慢慢爆炸。

答案 1 :(得分:3)

不幸的是,在文本层面,这是一个很大的变化。您可以做的最好的事情不是将空白更改与任何其他更改混合在一起。这样一个提交的主题应该只是空白的变化。

如果这个搞砸了未发布(仅在您的私人回购中),您可以及时回过头来修复历史记录中引入的混乱,然后解决修复后续更改的痛苦(必须以正确的缩进方式重新工作)。为了努力,你最终得到了一个干净的历史。

答案 2 :(得分:0)

完全有效。将空格重新格式与同一文件中的其他更改耦合可能会混淆非空白区域的更改。提交只负责重新格式化空白区域。