有些时候,你必须将某些文件放在 GIT 工作目录中,但又不想提交它们,比如保存了数据库密码的配置文件,项目自动生成文件,日志文件等等,每次 git status 都会显示 Untracked files,有强迫症的同学心里肯定不爽…

好在 GIT 考虑到了大家的感受,这个问题解决起来也很简单,在 GIT 工作区的根目录先创建一个特殊的 .gitignore 文件,然后把要忽略的文件名填进去,GIT 就会自动忽略这些文件

基本规则

#      以 # 号开头表示此行为注释
a.pyo  # 忽略指定文件
idea/  # 忽略指定文件夹

*.a    # 忽略所有 .a 结尾的文件
!lib.a # 但是 lib.a 除外

/a.log # 仅仅忽略项目根目录下的 a.log 文件

常见问题

  • 强制添加文件

    有时候,你想添加一个文件到 GIT ,但是发现添加不了,原始是这个文件被忽略了,此时可以使用 -f 强制添加到 GIT

    git add -f 文件
    
  • 检查忽略文件

    如果想要检查究竟是哪行规则导致了文件被忽略,可以使用如下命令检查

    git check-ignore -v c.md
    
    # .gitignore:1:c.md       c.md
    # git会告诉我们 .gitignore 文件的第 1 行忽略了该文件
    
  • 增加了规则却没有效果

    .gitignore 只能作用于 Untracked Files,也就是那些从来没有被 GIT 记录过的文件,如果文件被 GIT 记录过,那么 .gitignore 对它们完全无效!

    对于已经维护起来的文件,可以使用如下命令:

    git update-index --assume-unchanged <file>
    

    使用该命令后,即使我们修改了该文件,GIT 也会默认我们没有修改,可以通过如下命令恢复

    git update-index --no-assume-unchanged <file>
    
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐