【问题标题】:How can I tell which files have been marked as "assume unchanged" in git我如何知道哪些文件在 git 中被标记为“假定未更改”
【发布时间】:2014-11-27 04:15:45
【问题描述】:

This answer 向您展示如何将由 git 管理的文件标记为“我不希望对该文件的 repo 进行更改”- IE 拥有该文件的您自己的本地未跟踪版本,即使它仍然存在受远程 git 的修订控制。

问题是“我怎样才能知道哪些文件是这样标记的?” ...如果您正在使用此功能,那么能够检查是一件好事!


注意:在下面的 cmets 中提到,skip-worktree 可能是比assume-unchanged 更好的工作工具。尽管如此,这个问题记录了如何找到assume-unchanged 文件。

【问题讨论】:

    标签: git


    【解决方案1】:

    @GreenAsJade 答案略有改进:

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

    这适用于 zsh 用户。

    【讨论】:

      【解决方案2】:

      ...答案在上面链接的答案的 cmets 中提供:git ls-files -v 将“假设未更改”文件显示为小写字母。

      所以你可以这样找到它们:

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

      【讨论】:

      • 差不多但不完全。如果文件被更改,则为c,例如(与C相反),m如果文件有合并挂起(与M相反)等。未更改的假设用小写字母标记,但不一定是小写的h。请参阅git help ls-files 中的-t-v 选项。 grep ^[a-z] 更合适。
      • 谢谢!我已经相应地更新了。假设未更改的文件可以有合并挂起吗?
      • 哈哈,你可能是对的!我完全没有想到。另外,顺便说一句,我误入了this,暗示skip-worktree 是这种情况下更好的选择。
      • 是的 - 似乎skip-worktree 更适合。同时,我猜^h 可能就足够了,因为该文件从未被视为已更改,但无论如何^[a-z] 可能是安全的。
      猜你喜欢
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多