如何在git gui中逐行登台,尽管"文件末尾没有新行"警告

JJD*_*JJD 4 git newline git-gui line-by-line git-index

我使用git gui来选择要为提交暂存的行.这通常像魅力一样.我知道在命令行上执行相同操作的选项.

每当文件最初在文件末尾没有新行时,git gui会识别出这一点并在编辑器中附加警告消息,如屏幕截图所示.

Git Gui

问题

缺少换行符导致的问题是人们不能再分段和提交单独的行.当我右键单击以选择特定行并Stage line for commit从上下文菜单中选择时,会弹出一条错误消息.

错误:致命:第11行腐败的羊皮纸.

该问题并非特定于操作系统,可以在Windows,MacOSX和Linux上重新生成.我知道如果我在文件中添加新行并在继续选择单行之前提交此版本,我可以避免此问题.

重现问题的步骤

  1. 初始化新存储库.
  2. 创建一个包含三行内容的文件,每行包含"Hallo"一词.不要在文件末尾添加新行.
  3. 添加并提交文件.
  4. 编辑相同的文件,在三行之间放置单词.
  5. 打开git gui并尝试逐行进行更改.

请求

我想知道Git是否有一些配置允许我绕过这个问题.一些自动化,例如添加所需新线的钩子也可以.

错误报告

我向Git邮件列表发送了一个错误报告.您可以关注并参与此处的讨论.

JJD*_*JJD 5

感谢Heiko Voigt,这个行为有一个错误修正.我们在Git-Merge会议上解决了这个问题 - 感谢GitHub组织这次会议.该补丁目前正在邮件列表中待处理.一旦合并和发布,我将在这里更新这篇文章.


最后,gitgui-0.18.0已合并到git v1.8.4中,并且是官方发布的一部分(2013年8月23日).现在每个人都可以享受分段行提交,无论文件末尾有新行.再次感谢Heiko!