时间:2010-07-23 15:10:36

标签: git gitignore

5 个答案:

答案 0 :(得分:397)

答案 1 :(得分:66)

执行此操作的首选方法是使用git update-index --skip-worktree <file>,如in this answer所述:

  

assume-unchanged适用于检查费用昂贵的情况   是否已修改一组文件;当你设置位时,git   (当然)假设文件对应于该部分   索引尚未在工作副本中修改。所以它避免了一团糟   统计电话。只要文件在索引中输入,该位就会丢失   更改(因此,当文件上游更改时)。

     

skip-worktree不止于此:即使git知道该文件   已被修改(或需要通过重置修改 - 硬件或   喜欢),它会假装它没有,使用的版本   索引代替。这种情况一直持续到索引被丢弃为止。

要撤消此操作,请使用git update-index --no-skip-worktree <file>

答案 2 :(得分:36)

答案 3 :(得分:0)

对于IntelliJ IDEA用户:如果要忽略文件(或文件)的更改,可以将其移至不同的Change Set

  • 转到Local ChangesCmd + 9
  • 选择您要忽略的文件
  • F6将其移至另一个Change Set

答案 4 :(得分:0)

使用 Git 无法忽略对跟踪文件的更改。 Git FAQ explains this

<块引用>

Git 没有提供这样做的方法。原因是如果 Git 需要覆盖这个文件,比如在 checkout 时,它不知道对文件所做的更改是宝贵的应该保留,还是不相关的可以安全地销毁。因此,它必须走安全路线并始终保存它们。

尝试使用 git update-index 的某些功能很诱人,即假设未更改和跳过工作树位,但这些不能用于此目的,不应以这种方式使用。

如果您的目标是使用配置文件,那么最好的做法是添加示例或模板文件,然后让用户将其复制到位或让脚本创建适当的文件。然后您应该忽略实际配置文件的位置,只检查示例或模板。