【发布时间】:2017-08-30 19:10:36
【问题描述】:
我正在尝试 git bisect 在公共回购中的一些不良行为。
回购有:
- 一些使用 CRLF 的提交(我在 MacOS 上,所以期待 LF)
-
.gitattributesfile 在其根目录中,规范化 .c、.h 和 .java 文件
据我了解,目前的.git/config 或~/.gitconfig 都不重要,因为.gitattributes 具有优先权。
我的问题与此有关:当我使用 CRLF 检查提交时,本地文件会使用 LF 进行修改。这些文件在git status 上显示为已修改。然后,如果我尝试检查另一个提交,git 会拒绝以保护我的本地更改。很好。
在checkout 的情况下,我可以用-f 强制它,然后继续。
问题是我似乎无法强制git bisect skip。如果我尝试,git 会告诉我存储更改。我无法获得干净的工作文件(无论如何,存储都会给我留下修改过的换行符),而且我无法跳过。
我尝试复制临时的.gitattributes 以使bisect 保持换行不变,但随后它抱怨.gitattributes 中的更改未保存。
有没有办法强制bisect?
【问题讨论】:
-
呃。我会尝试临时的
.gitattributes文件加上设置git update-index --skip-worktree,并希望在任何对分范围提交中.gitattributes都没有更改。如果做不到这一点,请保留一个临时的.gitattributes,您可以换入和换出,换出以进入下一个平分,将其换回并git checkout -f进行更新,等等。
标签: git newline gitattributes core.autocrlf git-bisect