Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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_Rebase - Fatal编程技术网

Git 重新设置基址时出错:将覆盖不存在的未跟踪文件

Git 重新设置基址时出错:将覆盖不存在的未跟踪文件,git,rebase,Git,Rebase,我正试图把一些承诺压缩成一个承诺。所做的更改包括更改文件内容,以及仅更改某些文件或其目录上的文件名大小写 运行git status时 nothing to commit, working tree clean 但是,当Irebase-I时 在我试图压缩的提交历史的某个时刻,myDir被重命名为myDir 但是,这些文件实际上都不在我的磁盘上。运行ls显示新的MyDir,但不显示MyDir 如何修复此问题,以便重新设置基准 仅供参考,ignorecase=false在.git/config的[c

我正试图把一些承诺压缩成一个承诺。所做的更改包括更改文件内容,以及仅更改某些文件或其目录上的文件名大小写

运行
git status

nothing to commit, working tree clean
但是,当I
rebase-I

在我试图压缩的提交历史的某个时刻,
myDir
被重命名为
myDir

但是,这些文件实际上都不在我的磁盘上。运行
ls
显示新的
MyDir
,但不显示
MyDir

如何修复此问题,以便重新设置基准


仅供参考,
ignorecase=false
.git/config
[core]
下,我在Mac OSX上
core.ignorecase
设置是git跟踪操作系统实际行为的方式。如果Git可以创建一个名为
自述文件
,然后使用名称
自述文件
打开它,那么操作系统的文件系统不区分大小写。这意味着您的操作系统不能创建两个单独的文件,它们的名称只是大小写不同

这同样适用于目录。如果存在
MyDir
,Git试图创建
MyDir
来保存名为
MyDir/file1
等文件的尝试将失败(Git认为这种方式基本无害,即该目录已经存在),因为操作系统将只使用现有的
MyDir
。Git尝试写入
myDir/file1
将覆盖
myDir/file1
文件。如果这些文件当前包含有价值的数据,您将希望将它们移开,就像Git建议的那样。在任何情况下,您都可能希望移动整个目录
MyDir
,以便Git可以创建一个拼写为
MyDir
(小写
m


如果您的操作系统/文件系统真的、真的不区分大小写,如果您可以创建不同的文件,所有文件都命名为
README
README
README
,等等,那么您可以更改
core.ignorecase
设置来通知Git这一事实。但是,如果您的系统不区分大小写,那么更改它将是在欺骗Git,这将是一个坏主意。

核心。ignorecase设置是Git跟踪操作系统实际行为的方式。如果Git可以创建一个名为
自述文件
,然后使用名称
自述文件
打开它,那么操作系统的文件系统不区分大小写。这意味着您的操作系统不能创建两个单独的文件,它们的名称只是大小写不同

这同样适用于目录。如果存在
MyDir
,Git试图创建
MyDir
来保存名为
MyDir/file1
等文件的尝试将失败(Git认为这种方式基本无害,即该目录已经存在),因为操作系统将只使用现有的
MyDir
。Git尝试写入
myDir/file1
将覆盖
myDir/file1
文件。如果这些文件当前包含有价值的数据,您将希望将它们移开,就像Git建议的那样。在任何情况下,您都可能希望移动整个目录
MyDir
,以便Git可以创建一个拼写为
MyDir
(小写
m


如果您的操作系统/文件系统真的、真的不区分大小写,如果您可以创建不同的文件,所有文件都命名为
README
README
README
,等等,那么您可以更改
core.ignorecase
设置来通知Git这一事实。但是,如果您的系统不区分大小写,那么更改它将是对Git的欺骗,这将是一个坏主意。

很可能将
myDir
目录移开会允许
Git重新基址--continue
发生。您有什么类型的操作系统,这是什么类型的文件系统?您提到了
core.ignorecase
,但底层文件系统实际上区分大小写吗?看起来不是这样。将
myDir
目录移开可能会让
git-rebase——continue
发生。您有什么类型的操作系统,这是什么类型的文件系统?您提到了
core.ignorecase
,但底层文件系统实际上区分大小写吗?看起来不是。我第一次使用Mac,并且假设操作系统区分大小写,结果证明不是。非常有用的测试:Mac文件系统默认使用这个选项,但是如果需要,您可以制作一个完全区分大小写的。我很确定他们仍然使用UTF-8标准化(造成组合拼写和非组合拼写的问题)。我第一次使用Mac时,假设操作系统区分大小写,结果证明不是。非常有用的测试:Mac文件系统默认使用这个选项,但是如果需要,您可以制作一个完全区分大小写的。我很确定他们仍然在使用UTF-8标准化(造成组合拼写和非组合拼写的问题)。
error: The following untracked working tree files would be overwritten by checkout:
        myDir/file1
        myDir/file2
        ...
        myDir/fileN
Please move or remove them before you switch branches.
Aborting