我试图在公共存储库中git bisect
一些不良行为。
该存储库具有:
- 一些使用 CRLF 提交(我在 MacOS 上,所以期待 LF)
- 根目录中的
.gitattributes
文件,规范化 .c、.h 和.java文件
据我了解,目前的.git/config
或~/.gitconfig
都无关紧要,因为.gitattributes
优先。
我的问题与此有关:当我使用 CRLF 签出提交时,使用 LF 修改了本地文件。这些文件在git status
时显示为已修改。然后,如果我尝试签出另一个提交,git 会拒绝以保护我的本地更改。好。
在checkout
的情况下,我可以用-f
强制它,然后继续。
问题是我似乎不能强迫git bisect skip
.如果我尝试,git
告诉我隐藏更改。我无法获得干净的工作文件(无论如何,存储都会给我留下修改后的换行符),并且我无法跳过。
我尝试复制临时.gitattributes
以使bisect
保持换行符不变,但随后它抱怨.gitattributes
更改未保存。
有没有办法强制bisect
?
现在的 .git/config 或 ~/.gitconfig 都无关紧要,因为 .gitattributes 具有优先权
不是真的,gitattributes 的本地文件是.git/info/attributes
的,并且它优先于存储库中的任何.gitattributes
文件