gpt4 book ai didi

macos - 为什么以下命令在我的存储库中不一致?

转载 作者:IT王子 更新时间:2023-10-29 01:06:40 26 4
gpt4 key购买 nike

在我的存储库中,它有混合的行结尾。我正在使用 Mac OS X 和 git 1.8.3.1

我想重新规范化此存储库,以便每个文件都有与 .gitattributes 文件一致的行结尾。

为此,我检查了最新的变化:

git checkout origin/develop
git reset --hard
git rm -rf .
git rm --cached -rf .
rm .git/index
git checkout HEAD .gitattributes
git reset --hard
git status

现在,git rm --cached -rf . 会导致错误,但我对上述命令非常偏执。 (在我的机器上,这些命令在一行中,忽略了退出代码)

我多次重复这个命令。 (即向上;回车;向上;回车;向上;回车;...)

大多数时候,我的退房都是干净的,这不是我所期望的。

但是,大约每十次一次,我发现我得到了三个文件(它们似乎被正确地重新规范化了)。其余时间没有重整化。

经过重新规范化(即“修改”)的此类文件的输出是:

$ file source/RemoveDuplications.cs
source/RemoveDuplications.cs: UTF-8 Unicode (with BOM) C++ program text, with CRLF line terminators

我的 git 属性文件有相当多的条目,但相关的条目在这里:

* text=auto
*.cs text eol=crlf

这里可能出了什么问题?

最佳答案

看起来您正在做的事情可能过于复杂。您不需要从存储库中删除所有文件或手动删除索引。你试过吗:

git rm --cached -r .  # remove everything from the index
git reset --hard # replace files w/ corrected line endings
git add . # stage all changes
git commit -m "Normalize line endings"

如果这对您不起作用,我会重新检查您的 core.autocrlf 的值和 .gitattributes。您可能需要清除它们,重置您的 shell,再次检查存储库,然后重置它们以获得您想要的行为。

以下是一些可能有帮助的其他资源:

关于macos - 为什么以下命令在我的存储库中不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18460068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com