gpt4 book ai didi

linux - 将 Linux 机器上的远程 Git 存储库克隆到 OS X 机器会导致文件具有 typechange 状态

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:05 36 4
gpt4 key购买 nike

我有一个工作副本目录,其中的许多文件都被标记为具有“typechange”状态。这是我遇到的问题:

$ rm -rf sample-data/
$ git checkout -- sample-data/
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

typechange: sample-data/stereo-frames/LEFT_stereo-test0000.png
typechange: sample-data/stereo-frames/LEFT_stereo-test0001.png
typechange: sample-data/stereo-frames/LEFT_stereo-test0002.png
typechange: sample-data/stereo-frames/LEFT_stereo-test0003.png
typechange: sample-data/stereo-frames/LEFT_stereo-test0004.png
typechange: sample-data/stereo-frames/LEFT_stereo-test0005.png
.... etc.

有问题的文件应该都是symlnks。如果我一个接一个地做

git checkout -- sample-data/stereo-frames/LEFT_stereo-test0005.png

例如,那个文件是固定的。但是,文件比我在这里列出的要多得多。

为什么我必须为每个文件手动执行此操作?怎么了?远程 Git 存储库在 Linux 机器上,我正尝试在我的 OS X 机器上克隆它。

最佳答案

chat logs between myself and Rich 所示,Rich 在 Linux 机器上有一个远程 Git 存储库,其中包含如下符号链接(symbolic link)(信息被截断以突出重要内容):

$ ls -l  
lrwxrwxrwx Left_stereo-test0000.png -> left_stereo-test0000.png
-rw-rw-r-- left_stereo-test0000.png

请注意,符号链接(symbolic link)与其链接到的实际文件共享相同的名称,只是大小写不同。在 Linux 系统上这很好,因为它使用区分大小写的文件系统。

但是,OS X 使用大小写不区分 的文件系统(就像 Windows 一样)。我的猜测是,当 Rich 将 Git 存储库克隆到他的 OS X 机器时,它 check out 了符号链接(symbolic link)或它引用的文件,然后 check out 另一个文件覆盖了前一个(或类似的东西),因为到目前为止对于 OS X,它们是同一个文件

As Rich explained,一旦他重命名文件以避免在 OS X 上不区分大小写的名称冲突,问题就解决了。

关于linux - 将 Linux 机器上的远程 Git 存储库克隆到 OS X 机器会导致文件具有 typechange 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24027471/

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