Git中文件属性的变化,被认为是文件有改动

问题描述:

    1.  从公司的git服务器上, 下载最新的代码(zip格式), 解压缩出来, 

    2.  过一段时间, 去执行git pull代码, 出现如下情况:         

    $ git pull
    Updating 37b895a..2e0fc7a
    error: Your local changes to the following files would be overwritten by merge:
          test.xml
       root/upload/a.zip
    Please commit your changes or stash them before you merge.
    Aborting

分析问题:

        出现这样的错误,  测试问题, git status后, 出现很多文件, 这些文件已经在git服务器上了, 下载下来的时候, 解压到本地后,  文件的读写权限更改, 导致出现问题.

解决问题:

       直接修改git的config, 打开git的命令行(我用的是Git-2.9.3-32-bit.exe这个版本), 命令如下:

     $ vi .git/config

       会直接进入vim的编辑界面,(如果vim不会用的话,可以参考http://www.cnblogs.com/xumBlog/p/8533962.html), 

       或则直接打开.git/config文件, 做如下修改, 保存.

       

       红色方框里的一行

                          filemode = true

       这个代表: 当文件的mode变化的时候, git认为这个文件有修改, 得必须提交这个文件, 后续才能提交其他的文件.

       所以把这行删除,  就可以了. 就可以提交其他的代码了. 

 

 

posted on 2018-03-09 15:04  努力做一个伪程序员  阅读(631)  评论(0编辑  收藏  举报

导航