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

标签 linux git macos unix git-checkout

我有一个工作副本目录,其中的许多文件都被标记为具有“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/

相关文章:

python - 绘制透明并单击所有窗口顶部的文本

git - 推送到 Bitbucket repo 无声地失败,没有任何变化

来自 HEAD 的 Git 过滤器分支

git - git 可以跟踪文件但不显示它们已更新吗?

c++ - GCC 4.7/4.8 作为 Xcode 的 C/C++ 编译器

c - 使用 malloc.c 的堆分配内存边界

linux - 同步两个本地目录

java - 如何在Java中制作echo 1 >/sys/class/gpio/gpio18/value

macos - NSButton attributeTitle 在按钮按下时改变颜色

regex - 适用于 Mac OS X 的交互式正则表达式构建器学习工具?