搜索

首页  >  问答  >  正文

git、samba、git bash的一个问题

问题描述:
我在虚拟机上面搭建了本地的web LAMP服务,虚拟机上已经安装了git,网站根目录为/var/www/web_root,该目录用samba映射到windows。

在windows下git clone了项目到samba映射的地方。 现在我用git bash 里面和虚拟机里面分别git status。

结果如下:

1--------------------- windows 下git bash 中git status结果
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

2--------------------- 虚拟机linux 下git status结果
[root@yangshushu jnexpertweb]# git status
On branch master
Your branch is up-to-date with 'origin/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)

。。。。。。 下面是很多的红色标识文件

windows下面git已经配置过(key放在远端git配置),虚拟机里面没配置过,不知道是不是这个原因,不明白怎么回事。
请教~~

为情所困为情所困2793 天前699

全部回复(3)我来回复

  • PHPz

    PHPz2017-05-02 09:25:08

    有可能是换行符的问题,windows下换行是CRLF(回车+换行)两个字符,linux下换行是LF(换行)一个字符;
    如果windows下的项目clone到linux后,git会对换行符进行自动处理,将所有CRLF转化成LF,这就导致所有的文件都发生了变化。
    解决思路:禁止git自动转化换行,或者手动设置git的换行符

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:25:08

    windows和linux细节上的不同太多,建议用linux择只用linux,可以避免很多坑。。。

    回复
    0
  • 大家讲道理

    大家讲道理2017-05-02 09:25:08

    我也遇到此问题,具体不知道原因,继续关注此问题。

    回复
    0
  • 取消回复