在发布项目到线上时,很多时候需要修改文件的权限,如果是使用git版本管理软件来发布的话,那么下次更新线上文件的时候就会提示文件冲突。明明文件没有修改,为什么会冲突呢?原来git把文件权限也算作文件差异的一部分。下面笔者自己做了个简单的例子来演示这种情况。

1、修改版本库的文件的权限,然后使用diff查看下改变。

$ chmod 777 pack.php
$ git diff pack.php

git文件权限修改示例

可以看到git把文件权限也列入了版本管理。

2、在另外一个地方clone这个版本库,修改pack.php文件,然后提交。

3、在原版本库下面更新内容。

$ git pull

git文件权限修改引起的冲突

可以看到提示冲突。

解决办法:

git中可以加入忽略文件权限的配置,具体如下:

$ git config core.filemode false  // 当前版本库
$ git config --global core.fileMode false // 所有版本库

这样就设置了忽略文件权限。查看下配置:

$ cat .git/config // 查看git的配置文件

git忽略文件权限的配置

这时候再更新代码就OK了。

git中忽略文件权限或文件拥有者的改变的更多相关文章

  1. 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装

    Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...

  2. 忽略git中不需要进行版本管理的文件

    在git中我们提交项目的时候有很多东西是不需要进行版本管理的,因此我们需要忽略掉. 虽然在github2.0的windows客户端提供了工具,但是这个工具并不是想象中的那么好用. 在上面点右键出现的D ...

  3. 『现学现忘』Git基础 — 19、Git中忽略文件

    目录 1.忽略文件说明 2.忽略文件的原则 3..gitignore忽略规则 1.忽略文件说明 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们到本地版本库,通常都是些自动生成的文件. ...

  4. 『现学现忘』Git基础 — 20、Git中忽略文件补充

    目录 1.忽略文件常遇到的问题 2.忽略文件配置优先级 3.忽略已跟踪文件的改动(本机使用) 4.autocrlf和safecrlf参数说明 (1)提出问题 (2)autocrlf说明 (3)safe ...

  5. git提交忽略不必要的文件或文件夹

    创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本. 例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml 而自己项目文件一般都保留,但 ...

  6. 【git】git提交忽略不必要的文件或文件夹

    对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来就来说说这个.gitignore的使用. 首先要强调一点,这个文件的完整文件名就是".gitignor ...

  7. git学习六:git提交忽略不必要的文件或文件夹

    创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本. 例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml 而自己项目文件一般都保留,但 ...

  8. 如何回复在Git中误操作删除的文件?

    不小心的操作,删除了某些文件 某天很高大地用上了git来管理版本,分布式版本管理工具,好是好,但是还不是很熟悉,结果某天一不小心就从本地仓库中删除了若干个文件,该如何找回这些文件呢? 调查现场 git ...

  9. Linux—修改文件权限、文件拥有者以及文件所在组

    修改文件权限——chmod 修改文件拥有者——chown 修改文件所属组群——chgrp

随机推荐

  1. Devexpress中统一设置字体样式的方法

    #region 设置默认字体.日期格式.汉化dev DevExpress.Utils.AppearanceObject.DefaultFont = new System.Drawing.Font(&q ...

  2. appium关于当前网络情况测试,实现打开关闭网络(python3.4版)

    appium关于当前网络情况测试,实现打开关闭网络(不需要root测试机) # python from appium.webdriver.connectiontype import Connectio ...

  3. Jenkins 发布平台 MSB4064: The "Retries" parameter is not supported & error MSB4063: The "Copy" task could not be initialized

    ____________________________________________________________________________________________________ ...

  4. vue 之bug<1> Warn : [vue-router] Duplicate named routes definition:

    原因:定义重复的路由名称. 我有3个不同的(父级)vue文件分别配置了3个相同的(子级)vue文件,配置路由的js文件里子集路由的name重复了. 解决方案: 一天一个小Bug

  5. vue 2.0创建新项目

    参考链接  https://segmentfault.com/a/1190000011275993 背景在安装完node的基础上,机器什么都没安装参考上述链接 一.下载vue $ cnpm insta ...

  6. SQL Server 2005 中的分区表和索引

    SQL Server 2005 中的分区表和索引 SQL Server 2005          69(共 83)对本文的评价是有帮助 - 评价此主题   发布日期 : 3/24/2005 | 更新 ...

  7. MySQL限制查询结果返回的数量limit

    1限制查询结果 [limit {[offset,] row_count | row_count offset}] row_count 起始行(第一行是0) offset 偏移量 输出几行记录

  8. loadView 与 viewDidLoad 和 didReceiveMemoryWarning与viewDidUnload 详解

    首先试验下:viewController初始化 分两个支路:initWithNibName加载初始化 及 init 直接初始化: <1>调用initWithNibName加载一个xib界面 ...

  9. vue+cordova项目

    教你用Cordova打包Vue项目   现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app.据我现在的了解打包Vue项目目前流行的就是使 ...

  10. 深入理解JavaScript系列(48):对象创建模式(下篇)

    介绍 本篇主要是介绍创建对象方面的模式的下篇,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码. 模式6:函数语法糖 函数语法糖是为一个对象快速添加方法(函数)的扩展,这个主要是利用pro ...