Git checkout带来了非分段文件

时间:2014-07-29 21:57:15

标签: git git-checkout

我遇到了这种特殊情况

我在本地的一个新文件夹上为master分支做了一个git clone,当我执行git status时显示

 modified:   sites/all/themes/DIR/css/style.css
#   modified:   sites/all/themes/DIR/css/style1.css
#   modified:   sites/all/themes/DIR/css/style2.css
#   modified:   sites/all/themes/DIR/css/style3.css
#   modified:   sites/all/themes/DIR/css/styleResponsive.css
#   modified:   sites/all/themes/DIR/favicon.ico
#   modified:   sites/all/themes/DIR/greysliver.png
#   modified:   sites/all/themes/DIR/less/bootstrap.less
#   modified:   sites/all/themes/DIR/less/content.less
#   modified:   sites/all/themes/DIR/less/footer.less
#   modified:   sites/all/themes/DIR/less/header.less
#   modified:   sites/all/themes/DIR/less/overrides.less
#   modified:   sites/all/themes/DIR/less/style.less
#   modified:   sites/all/themes/DIR/less/variables.less
#   modified:   sites/all/themes/DIR/logo.png
#   modified:   sites/all/themes/DIR/screenshot.png
#   modified:   sites/all/themes/DIR/template.php
#   modified:   sites/all/themes/DIR/templates/page.tpl.php

我对这种行为感到困惑,一个新的git clone如何能够带来非分阶段的变化。

一些背景知识:

我实际上已经复制了

  

站点/所有/主题/ DIR

as

  

sites / all / themes / dir

所以现在当我尝试删除显示的状态DIR文件时,它会开始显示处于修改状态的sites / all / themes / dir文件,即使我没有删除该目录。

我尝试检查这些文件以及git reset。和git clean -f,这没有改变任何东西 git藏匿方式也没有用。 我不确定为什么一个干净的结账可能会这样做,除了它一直指的是原始回购在我当地的另一个文件夹。

如何修复此方案,并且在新结帐时没有任何未暂存的文件。

这是在Mac OSX 10.9.4上,文件是从ubuntu提交的,托管在ubutu上。

  

git ls-tree master ^ {tree} sites / all / themes /

显示

040000 tree 7de9d4fc327d8e3087dc566d2a4b1602d45114e1 sites / all / themes / DIR 040000树b5b51e2e760ef42632270bc19554f5164c151718 sites / all / themes / dir

1 个答案:

答案 0 :(得分:1)

这看起来像是一个套管问题。 DIR vs dir

.git / config

的[core]部分中有一个ignorecase选项

e.g。添加ignorecase = true

To change it for just one repo, from that folder run:

git config core.ignorecase是的 要全局改变它:

  

git config --global core.ignorecase true

来自How to make git ignore changes in case?

的回答