【问题标题】:How to ignore existing file in Git?如何忽略 Git 中的现有文件?
【发布时间】:2013-12-11 16:50:30
【问题描述】:

我需要在本地和 Git 中处理 file.txt 的不同内容。我希望 Git 不要告诉我该文件已更改。

这可能吗?

【问题讨论】:

标签: git version-control atlassian-sourcetree


【解决方案1】:

实际上,您想要的是--skip-worktree,而不是--assume-unchangedHere's a good explanation why.

所以git update-index --skip-worktree file.txt

TLDR; --assume-unchanged 用于性能,用于不会更改的文件(如 SDK); --skip-worktree 适用于存在于远程但您希望对其进行本地(未跟踪)更改的文件。

【讨论】:

  • 请将完整命令添加到您的答案中(git update-index ...);我们中的一些人是真正的 git 新手,我不得不阅读下面@janos 的答案来补充你的答案;)
  • 感谢您的解释。 :)
【解决方案2】:

也许您想“假装”文件实际上没有更改?你可以这样做:

git update-index --assume-unchanged file.txt

稍后撤消:

git update-index --no-assume-unchanged file.txt

查看以这种方式标记的文件列表:

git ls-files -v | grep '^[a-z]'

更新

正如 cmets 所指出的,这很可能不是您想要做的。 better answer 已由 @Tom Auger 发布,请改用它。

【讨论】:

    【解决方案3】:

    如果修改 .gitignore 文件不是一个选项(因为它被检入 git 本身),请考虑使用 .git/info/exclude

    【讨论】:

      【解决方案4】:

      可以不用.gitignore文件吗?

      【讨论】:

        【解决方案5】:

        您只需要单击源树中文件名右侧未暂存文件部分的more 按钮。点击ignore,让源码树对该文件或所有相同类型的文件执行你想要的操作。

        【讨论】:

          【解决方案6】:

          SOURCETREE 终端代码

          添加忽略文件:

          git update-index --skip-worktree index.php
          

          提取忽略文件:

          git update-index --no-skip-worktree index.php
          

          列出忽略文件:

          git ls-files . --ignored --exclude-standard --others
          

          【讨论】:

          • 对我来说很好的答案,因为我正在使用 SourceTree。这对我有用。
          【解决方案7】:

          在 Eclipse Luna 中,这可以通过执行以下操作 [使用 EGit 插件] 来完成: 右键文件->团队->高级->假设不变

          【讨论】:

            猜你喜欢
            • 2021-09-16
            • 1970-01-01
            • 2012-01-21
            • 2013-10-04
            • 2016-04-09
            • 1970-01-01
            • 1970-01-01
            • 2014-10-24
            • 2019-07-14
            相关资源
            最近更新 更多