zoukankan      html  css  js  c++  java
  • git 忽略文件的四种方式

    Git 提供了四种方法来忽略文件,分别适用不同情况,如下:

    1、全局忽略

    忽略规则由本机所有仓库共用,配置方法如下:
    编辑 ~/.gitconfig 文件,

    [user]
        name = yourname
        email = yourname@email.com
    [gui]
        encoding = utf-8
    [core]
       excludesfile = ~/.gitignore

    最后两行是新增的,用户设置全局忽略的配置文件目录,本例子是存放于 ~/.gitignore 下,可以改成其他路径。
    或通过命令行添加配置:

    git config --global core.excludefile ~/.gitignore

    2、单个仓库下忽略(远程共用)

    单个仓库下忽略,同时同步该设置至远程仓库,与其他克隆仓库共用;这个方法也是最常用的,配置方法是在仓库的根目录下新建 .gitignore 文件,在文件里配置忽略规则,同时把 .gitignore 文件加入版本管理。

    比如:

    # phpstorm project files
    .idea
    .tags
    .tags_sorted_by_file

    3、单个仓库下忽略(本机使用)

    单个仓库下忽略,不会同步该设置至远程仓库,只在本机起作用;配置方法是直接编辑仓库根目录下的.git/info/exclude文件,把要忽略的规则直接写入,这个方法只在本机当前仓库起效,不会对其他的克隆仓库起效。

    配置文件规则参考 中文文档

    比如:

    # git ls-files --others --exclude-from=.git/info/exclude
    # Lines that start with '#' are comments.
    # For a project mostly in C, the following would be a good set of
    # exclude patterns (uncomment them if you want to use them):
    # *.[oa]
    # *~
    
    
    read.md

    4、忽略已跟踪文件的改动(本机使用)

    上诉1,2,3方案都是适用于未跟踪的文件改动,而对于已跟踪文件的改动并不适用,好在针对这种情况 Git 也提供了我们方法去忽略。

    #忽略跟踪(提交代码时,忽略某一个文件不提交,即某个文件不被版本控制)
    git update-index --assume-unchanged FLIE   #FILE是目标文件路径       
    #恢复跟踪
    git update-index --no-assume-unchanged FLIE   #FILE是目标文件路径  

    不过如果执行 git checkoutgit reset的时候仍然会影响到这些文件,并把内容恢复到被跟踪的内容(再次修改仍然不会被跟踪)。

    如果忽略的文件多了,可以使用以下命令查看忽略列表

    git uls-files -v | grep '^h '

    提取文件路径,方法如下

    git ls-files -v | grep '^h ' | awk '{print $2}'

    所有被忽略的文件,取消忽略的方法,如下

    git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged  

    更多update-index 参考:https://www.cnblogs.com/wt645631686/p/10007328.html

  • 相关阅读:
    python中map函数
    python中的or,and运算符
    输入一个字符串, 返回倒序排列的结果 如: abcdef, 返回 fedcba
    centos7启用iptables
    centos7 shell脚本批量上传文件
    Deployment 中尝试声明一个 Volum
    cpu很高,但是看不到是哪个应用或进程
    从进程角度看docker容器
    02一条update的sql的内部执行流程
    01基础架构,一条SQL查询语句是如何执行的?
  • 原文地址:https://www.cnblogs.com/-mrl/p/13885115.html
Copyright © 2011-2022 走看看