Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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的远程Linux机器上编译。我的工作环境是Windows,我可以使用samba从我的机器Windows访问Linux文件夹。我一直小心地使用LF作为行尾编辑所有文件(即使在Windows上)。尽管如此,当我在远程Linux机器上键入git status时,它显示了我所修改的文件,正如预期的那样,但在Windows上,它显示了太多的文件,其中一些我肯定从未接触过 我尝试在我的Windows Git配置上使用core.autocrlf=false和core.

我正在一个项目上工作,并在一台安装了Git的远程Linux机器上编译。我的工作环境是Windows,我可以使用samba从我的机器Windows访问Linux文件夹。我一直小心地使用LF作为行尾编辑所有文件(即使在Windows上)。尽管如此,当我在远程Linux机器上键入
git status
时,它显示了我所修改的文件,正如预期的那样,但在Windows上,它显示了太多的文件,其中一些我肯定从未接触过

我尝试在我的Windows Git配置上使用
core.autocrlf=false
core.eol=lf
,但这并没有改变任何事情

编辑:忘了这个。 我做了一个
git diff
。没有发现任何变化。这就是为什么我怀疑行结束问题。
我甚至在Windows控制台上输入了git a
git reset--hard
,结果发现它没有改变任何东西:相同的文件显示为modified

您是否
git diff you/file
以确保git认为更改了什么。没有发现任何变化。这就是为什么我怀疑行结束问题。我甚至在Windows控制台上git a
git reset--hard
,结果发现它没有改变任何东西:相同的文件显示为已修改(将其放入我的原始主题中)我可以使用samba从我的机器Windows访问Linux文件夹-这是否意味着您直接在包含
.git
目录的共享文件系统上工作?如果是这样,停止这样做,它不会很好地工作。@torek这正是我正在做的,不幸的是,我没有很多其他选择。有什么办法可以解决这个问题吗?只有一些非常难看的方法使用GIT_INDEX_FILE变量。问题是Windows中的
stat
数据与Linux中的数据不匹配,反之亦然,因此在外部系统看来
.git/index
总是“错误的”。如果
.git
目录是网络挂载的,并且有不同的系统访问它,则会出现这种行为。