zoukankan      html  css  js  c++  java
  • git .gitignore失效的解决办法

    http://blog.csdn.net/andanlan/article/details/51114306


    前言

    在使用git这个多人协作的代码版本控制工具时,为了避免每次提交修改代码时,一些预期外的无用文件的改动同时被提交并加入版本控制,需要将一些和代码无关的无用文件排除在版本控制外,此时也就需要使用.gitignore文件来指定这些需要忽略的文件信息。

    不同类型的工程都有一些通用的.gitignore范本,一般在项目初始化以后,直接按照范本加入.gitignore文件即可,这些使用.gitignore文件指定的忽略文件是不会被推送到远程仓库的,在以后的coding中就不用再关心这些被忽略的文件了。

    问题

    1. 已经初始化项目了,并配置.gitignore文件了,可以另外追加忽略文件么?

      直接追加进.gitignore文件忽略文件列表就可以了。

    2. 已经加入.gitignore文件列表的被忽略文件,想要进行改动,并提交推送到远程仓库,要如何做?

      只需要将被忽略的文件类型从.gitignore列表移除或注释掉,再次修改原来被忽略类型的文件时,就会提示此类文件被修改,需要加入版本控制了。

    3. 原来被忽略的文件,取消忽略后,可以重新加入忽略么?

      可以,同样只需要再次追加进.gitignore文件忽略文件列表就可以了。


    分隔线


    真相

    1. 上文中的问题1、2、3会生效么?

      2会立即生效,1和3会出现失效的情况。

    2. 1和3为什么会出现失效的情况?

      这是由于gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

    3. 怎么解决1和3失效的情况

      先把本地缓存删除(改变成未track状态),然后再提交

      git rm -r --cached .
      git add .
      git commit -m 'commit log info'
      
      • 1
      • 2
      • 3
      • 4

    参考


  • 相关阅读:
    [leedcode 77] Combinations
    [leedcode 76] Minimum Window Substring
    [leedcode 75] Sort Colors
    [leedcode 74] Search a 2D Matrix
    [leedcode 73] Set Matrix Zeroes
    [leedcode 71] Simplify Path
    [leedcode 70] Climbing Stairs
    [leedcode 69] Sqrt(x)
    [leedcode 67] Add Binary
    HDU1027-Ignatius and the Princess II(全排列问题next_permutation函数的使用)
  • 原文地址:https://www.cnblogs.com/silyvin/p/9106728.html
Copyright © 2011-2022 走看看