【问题标题】:Unable to reset to a clean working directory in git无法在 git 中重置为干净的工作目录
【发布时间】:2011-01-23 11:40:07
【问题描述】:

由于某种超出我理解的原因,我无法重置我的 git 工作目录中的一个特定文件!

这里是:

我现在做一个 git reset --hard,

 $ git reset --hard
 HEAD is now at 97b3164 Added clojure jars for personal tracking and also set clo
 jure classpath in jaskirat.el

硬重置后:

 $ git status
 # On branch master
 # Changed but not updated:
 #   (use "git add <file>..." to update what will be committed)
 #   (use "git checkout -- <file>..." to discard changes in working directory)
 #
 #       modified:   elpa-to-submit/color-theme.el
 #
 no changes added to commit (use "git add" and/or "git commit -a")  

我也试过 git checkout -- elpa-to-submit/color-theme.el 但似乎没有什么能让我回到一个“干净的”未暂存的工作目录! :-S

注意:我在我的 linux 桌面上也有一个来自 github 的这个 repo 的克隆,我在我的桌面上没有看到任何类似的问题

【问题讨论】:

    标签: git windows-7


    【解决方案1】:

    根据您的 git diff 反馈,这似乎是 EOL 问题。 Windows 使用\r\n,而Linux 使用\n。请参阅git-config(1) 中的core.eolcore.safecrlfcore.autocrlf 设置。

    【讨论】:

    • 非常感谢!我将 autocrlf 设置为 false 并进行了结帐 -- * 然后将 autocrlf 设置回 true 并进行了结帐 -- * 我不确定是什么首先导致了这种情况,但我现在有一个干净的目录。
    • 您必须在 CRLF 编辑器中打开 elpa-to-submit/color-theme.el 并点击“保存”。编辑器将所有行尾都转换为\r\n,Git 尊重您明确更改行尾并且没有将其删除的事实。为什么它不“自动”转换行尾?因为它无法区分文本文件和二进制文件:将\r\n 替换为\n 会损坏二进制文件。
    • 谢谢!我藏了三天的工作,我无法申请,因为我的工作目录不干净!
    【解决方案2】:

    它正在尽最大努力不丢失您的数据。此文件已在您的工作副本中进行了修改。

    如果您真的,真的不关心对该文件的更改,请使用

    git checkout -- elpa-to-submit/color-theme.el
    

    从 HEAD 将文件恢复到它的版本(注意它在 git 状态消息中正确地说明了这一点)。

    【讨论】:

    • 在那里做过。我在我的问题本身中提出了我已经尝试过 git checkout 的问题。它仍然没有成功!差异也没有返回任何东西,我没有做任何我关心的改变。
    • 糟糕,抱歉,忽略了这一点。我会考虑克隆它并查看克隆中文件的状态。另外,git diff 说什么?另外,您有自定义清洁/涂抹过滤器吗?
    • git diff 给出整个文件 --- a/elpa-to-submit/color-theme.el +++ b/elpa-to-submit/color-theme.el @@ -1 ,1791 +1,1791 @@ 作为差异和 git diff --cached 什么都不提供
    • 我不确定您所说的自定义清洁/涂抹过滤器是什么意思
    【解决方案3】:

    当你这样做时会发生什么:

    git reset --hard HEAD
    git checkout -- *
    

    【讨论】:

    • 不,这也无济于事。我确实收到了一些 pathspec 错误,说文件与 git 已知的任何文件都不匹配,但这些文件是 .gitignore 的一部分,因此它们从一开始就从未在 repo 中。
    猜你喜欢
    • 1970-01-01
    • 2015-02-13
    • 2021-02-14
    • 2012-04-21
    • 2021-02-12
    • 2016-07-19
    • 2022-12-04
    • 1970-01-01
    • 2011-09-16
    相关资源
    最近更新 更多