近期在做ffmpeg版本合并时发现,TortoiseGit的Check for Modifications的修改对话框中有未修改的问题,直接导出diff,会有类似下面的输出:

compat/plan9/head            |   0

diff --git a/compat/plan9/head b/compat/plan9/head
old mode 100755
new mode 100644

但修改行和添加行都是0,搜索查找发现,主要问题是由于文件权限问题。

由于在windows下没有对应数字的文件权限,而在*nix中确有,上面的数字含义755=rwxrw_rw_, 644=rw_r__r__,而100表示文件。

由于直接从linux到windows下clone,相关权限信息可能丢失。

解决方法如下:

  1. 命令行下使用

git config core.filemode false

  1. 通过TortoiseGit的Setting配置

    右键-TortoiseGit-Settings,选择左侧列表框中的Git,然后在右侧对话框中选择Edit Local .git/config

    将下面配置项修改(filemode 改为 false)
[core]
filemode = false
  1. 直接修改代码仓库 .git 目录里的 config 文件的 filemode (在 [core] 段中)字段,将其改为 false。

如果要全局修改的话,加 --global 选项:

git config --global core.filemode false

或者通过TortoiseGit配置。

core.fileMode

If false, the executable bit differences between the index and the

working copy are ignored; useful on broken filesystems like FAT.

See git-update-index(1). True by default.

通过上面修改之后,在命令行中调用git diff输出的patch是正常的,但是在TortoiseGit的修改对话框中可能还是不对,如果一定要解决,建议把当前代码修改备份下,重新pull一份就可以了。

参考:

[1] http://stackoverflow.com/questions/1257592/how-do-i-remove-files-saying-old-mode-100755-new-mode-100644-from-unstaged-cha

git file mode change的更多相关文章

  1. Linux File System Change Monitoring Technology、Notifier Technology

    catalog . 为什么要监控文件系统 : hotplug . udev . fanotify(fscking all notification system) . inotify . code e ...

  2. INPUT[type=file]的change事件不触发问题

    在网页上要操作文件通常会使用INPUT[type=file]控件,但这个控件的设计很蛋疼.它不像其它编程语言中文件选择后会触发一个事件,只是让上面的文字改变,而这个改变可能会触发change事件而已. ...

  3. type=file的change事件只能执行一次的解决方案

    最近帮朋友做个项目中遇到了type=file change事件只能执行一次的问题,度娘了一下,发现提供了各种解决方案,所以决定记录一下我的思考方向和最终解决方式. 起初帮朋友做个项目,项目中遇到上传文 ...

  4. file控件change事件触发问题

    最近,项目中需要用到一个图片上传的功能,我用的file控件来选取图片文件,然后利用js读取文件来预览图片,最后再根据用户的操作来决定是否上传文件. 其中碰到了一个奇怪的问题:在选取完第一张图片,并上传 ...

  5. 【转】How to Change File Ownership & Groups in Linux

    有关linux下 文件权限的问题,一直不是很清楚.(参考菜鸟教程: http://www.runoob.com/linux/linux-file-attr-permission.html) 像上面这样 ...

  6. git submodule 使用

    这个是备忘录,原网页: https://medium.com/@porteneuve/mastering-git-submodules-34c65e940407 http://cncc.bingj.c ...

  7. git push --help

    git-push(1) Manual Page NAME git-push - Update remote refs along with associated objects SYNOPSIS gi ...

  8. Git for Windows v2.11.0 Release Notes

    homepage faq contribute bugs questions Git for Windows v2.11.0 Release Notes Latest update: December ...

  9. git学习 分支特殊处理和配置03

    Bug分支: 当在一个分支上工作的时候:突然到其它分支修复bug,当前分支工作还没到要提交的程度:这时候可以使用git stash来将工作分支暂时存储起来: 用git stash list查看stas ...

随机推荐

  1. Socket编程:之双机通信

    服务端: #include<sys/socket.h> #include<sys/types.h> #include<stdio.h> #include<un ...

  2. ROS学习(十一)—— msg srv

    一.msg 和 srv介绍 1.定义 消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本.它们会被用来生成不同语言的源代码 服务(srv): 一个srv文件描述一项服务.它包含两 ...

  3. Android程序员必备精品资源

    平时写程序中不断收集到的一些比较常用的东西,分享给大家. 实用工具集锦 Android Lifecycle https://github.com/xxv/android-lifecycle TinyP ...

  4. mysql用户权限管理的问题

    为了保证数据库安全,建立了若干个只能select的用户,但在权限授权的时候出现了不能连接的问题, 一个个尝试了一下,需要将 :  管理 -> SUPER项勾选才行(使用phpmyadmin),上 ...

  5. [AaronYang原创] 敏捷开发-Jira 6.0.5环境搭建[2]

    基本配置-关卡一(我研究了1.5个小时 AaronYang)   JIRA的设置向导将只显示您安装后第一次JIRA. 一旦你完成了它,你不能再次运行它. 然而,每一个设置在设置向导配置可以通过管理控制 ...

  6. Linux导出/导入逻辑卷组信息

    源主机上操作: 将文件系统umount # umount /u01 再将LV和VG inactive: # lvchange -an /dev/vg_u01/lv_u01 # vgchange -an ...

  7. MFC添加自定义窗口消息

    原文链接: http://www.cnblogs.com/smartvessel/archive/2011/07/18/2109472.html 1. 在头文件stdafx.h中增加一个自定义消息宏 ...

  8. asp.net url址址中中文汉字参数传递乱码解决方法

    中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于url址址中中文汉字参数传递乱码解决方法,有需要的朋友可以参考下.在cs文件里传参的时候用UrlEncode: Response.Redirec ...

  9. Android数据库安全解决方案,使用SQLCipher

    源码:http://files.cnblogs.com/android100/SQLCipherTest.rar 我们都知道,Android系统内置了SQLite数据库,并且提供了一整套的API用于对 ...

  10. html中的a标签

    <a> 标签定义超链接,用于从一张页面链接到另一张页面.最重要的属性是 href 属性,它指示链接的目标,<href="#">表示跳转到自己.我们通常通过C ...