Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决“未显示”的未老化更改;“git状态”;_Git - Fatal编程技术网

如何解决“未显示”的未老化更改;“git状态”;

如何解决“未显示”的未老化更改;“git状态”;,git,Git,考虑 $ git status On branch chore/nbsp-fix-2 nothing to commit, working directory clean $ git rebase -i master Cannot rebase: You have unstaged changes. Please commit or stash them. 我如何计算出哪些未老化的更改阻止git重定基址 一些背景:有人设法添加了名称中带有不间断空格(%A0)的文件。这导致存储库出现问题。这些文

考虑

$ git status
On branch chore/nbsp-fix-2
nothing to commit, working directory clean
$ git rebase -i master
Cannot rebase: You have unstaged changes.
Please commit or stash them.
我如何计算出哪些未老化的更改阻止git重定基址

一些背景:有人设法添加了名称中带有不间断空格(%A0)的文件。这导致存储库出现问题。这些文件显示为未被跟踪,git认为存储库是脏的——这是一个类似的问题

我用来纠正这个问题的技术是在进行这些更改之前创建一个新分支,并在这些更改之后选择几个提交。不幸的是,我现在处于这种情况。我可以想象,有一些其他文件或其他遗留问题阻止我前进。在cherry选择了错误文件名之后的单个提交之后,我现在处于这种状态


我正在寻找解决这个问题的建议。什么是rebase看到的状态没有看到的

事实证明,
git-rebase
/usr/libexec/git-core/git-rebase
中的一个shell脚本,在该函数中,在dir中的“have unstaged changes”(有未老化的更改)中进行搜索只需点击一次即可:

require_clean_work_tree () {
    git rev-parse --verify HEAD >/dev/null || exit 1
    git update-index -q --ignore-submodules --refresh
    err=0

    if ! git diff-files --quiet --ignore-submodules
    then
        echo >&2 "Cannot $1: You have unstaged changes."
        err=1
    fi

[ ... ]
而rebase确实调用了这一点。那么,回答一下

什么是rebase看到的状态没有看到的


你的问题是,试试
git-diff文件

试试
git-diff文件
,这是怎么说的?这就是rebase正在检查的内容。@jthill,提供一个正确的答案,我会给你评分
git diff文件
(和
git diff
)提供了答案。它是如何发生的?我习惯了它是一个未跟踪和被忽略的文件,状态会适时忽略,但在新的签出中会被跟踪,所以git拒绝踩踏它,但这不是这里发生的事情,我很好奇我做了什么。谢谢,这就是我要找的
git diff
git diff文件
显示有一个由git fat管理的长度为0的文件导致了问题。有一个0长度的过滤文件的bug。报告中甚至提供了一个补丁。我提出了一个拉动请求。这就是我发现问题的原因。我可以验证更改是否也解决了问题。
git diff files
显示了该文件。但是现在呢?该文件位于我从repo中移出并作为符号链接重新添加的目录中。所以git似乎对此感到困惑。但是现在呢?你在运行什么版本的git?