我使用git gui来选择要提交的行。这通常非常有效。我知道在命令行上也有同样的选项。
每当文件一开始没有文件末尾的换行符时,git gui会识别出来并在编辑器中附加一个警告消息,如我在截图中所示。
每当文件一开始没有文件末尾的换行符时,git gui会识别出来并在编辑器中附加一个警告消息,如我在截图中所示。
问题
由于缺少换行符而导致的问题是,无法再将单个行进行分阶段和提交。当我右键单击选择特定行并从上下文菜单中选择将行暂存以供提交时,会弹出错误消息。
error: fatal: corrupt parch at line 11.
该问题不限于操作系统,并且可以在Windows、MacOSX和Linux上重现。我知道如果我在继续选择单个行之前向文件添加一个新行并提交此版本,则可以避免出现问题。
复制问题的步骤
- 初始化新存储库。
- 创建一个具有三行内容的文件,每行都有单词“Hallo”。不要在文件结尾处放置换行符。
- 添加并提交该文件。
- 编辑相同的文件,在三行之间放置单词。
- 打开git gui,逐行尝试暂存更改。
请求
我想知道是否有Git的某些配置可以让我规避这个问题。一些自动化机制,如钩子,可以添加所需的新行也可以。
错误报告
我向Git邮件列表发送了一个错误报告。你可以在这里跟踪并参与讨论。