当前位置: 首页 > 知识库问答 >
问题:

撤消 git update-index --assume-unchanged

朱宇航
2023-03-14

我运行以下命令来忽略监视/跟踪特定目录/文件:

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

我该如何撤销此操作,以便< code >

共有3个答案

文喜
2023-03-14

综合@adardesign、@adswebwork和@AnkitVishwakam的优秀原始答案,以及@Bdoerror、@Retsam、@seanf和@torek的评论,以及其他文档链接和简洁的别名。。。

基本命令

要将假定不变文件重置回正常状态:

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

列出所有假定不变的文件:

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

要将所有假定未更改的文件重置为正常状态:

git ls-files -v | grep '^[a-z]' | cut -c3- | xargs git update-index --no-assume-unchanged --

注意:这个已经在别处列出的命令似乎不再重置所有假定不变的文件(我相信它曾经并且以前把它列为一个解决方案):

git update-index --really-refresh

快捷方式

为了使这些常见任务易于在git中执行,向< code >添加/更新下面的alias部分。gitconfig(例如< code>~/)。*nix或macOS系统上的gitconfig):

[alias]
    hide = update-index --assume-unchanged
    unhide = update-index --no-assume-unchanged
    unhide-all = ! git ls-files -v | grep '^[a-z]' | cut -c3- | xargs git unhide --
    hidden = ! git ls-files -v | grep '^[a-z]' | cut -c3-
龙华翰
2023-03-14

如果这是您经常使用的命令 - 您可能还需要考虑为其设置别名。添加到您的全局 .gitconfig

[alias]
    hide = update-index --assume-unchanged
    unhide = update-index --no-assume-unchanged

如何设置别名(如果您还不知道):

git config --configLocation alias.aliasName 'command --options'

例:

git config --global alias.hide 'update-index --assume-unchanged'
git config... etc

将其保存到 .gitconfig 后,您可以运行一个更干净的命令。

git hide myfile.ext

git unhide myfile.ext

这个git留档很有帮助。

根据注释,这也是一个有助于查找当前隐藏的文件的别名:

[alias]
    hidden = ! git ls-files -v | grep '^h' | cut -c3-
西门凯康
2023-03-14

要获取设置为假设不变的撤消/显示目录/文件,请运行以下命令:

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

要获取假定不变的目录/文件的列表,请运行以下命令:

git ls-files -v|grep '^h'
 类似资料:
  • Revert 命令可以撤消之前做过的某个提交。 练习 1,先查看一下项目的提交历史: → git log --oneline fb11f83 让 README.md 标题的首字母大写 0fd9dac 让标题微笑 7086650 添加 .gitignore b5773ad 设置相关资源文档标题 23f3c2b 添加相关资源文档 a454700 设置说明文档的标题 39975b3 初始化 “添加 .

  • This tool will request and set temporary credentials in your shell environment variables for a given role. Installation On OS X, the best way to get it is to use homebrew: brew install remind101/formu

  • 问题内容: 假设我有以下两个变量: 我怎样才能获得的价值是价值?也就是说,如何展开unicode格式,但保留十六进制的值? 如果我这样做: 那是不对的… 救命! 问题答案: U + 0000和U + 00FF之间的代码点以ISO 8859-1或Latin 1编码映射到相同的字节值。

  • 在任何一个阶段,你都有可能想要撤消某些操作。 这里,我们将会学习几个撤消你所做修改的基本工具。 注意,有些撤消操作是不可逆的。 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一。 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交: $ git commit --amend 这个

  • Git提供了多种修复你开发过程中的错误的方法. 方法的选择取决于你的情况: 包含有错误的文件是否提交了(commited); 如果你把它已经提交了, 那么你是否把有错误的提交已与其它人共享这也很重要. 修复未提交文件中的错误(重置) 如果你现在的工作目录(work tree)里搞的一团乱麻, 但是你现在还没有把它们提交; 你可以通过下面的命令, 让工作目录回到上次提交时的状态(last commi

  • 问题内容: 我目前正在使用Oracle Database Express Edition 11g处理一些选项。考虑下面的小代码示例,其中一些用户向其他用户授予某些特权: 用户A是表T的创建者,并执行以下操作。 现在执行。因为没有指定约束,则操作要么取消,否则将有一个废弃的特权,或同时删除的权限和。 现在我的问题是:该语句是否实际上已取消或同时删除和特权?或者换句话说,就是执行该revoke语句,无