我已经运行了以下命令来忽略监视/跟踪特定的目录/文件:
git update-index --assume-unchanged <file>
我如何撤销这一点,以便<文件>再次被监视/跟踪?
我已经运行了以下命令来忽略监视/跟踪特定的目录/文件:
git update-index --assume-unchanged <file>
我如何撤销这一点,以便<文件>再次被监视/跟踪?
当前回答
为了综合来自@adardesign, @adswebwork和@AnkitVishwakarma的优秀原始答案,以及来自@Bdoserror, @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中执行,为您的用户在.gitconfig中添加/更新以下别名部分(例如~/。*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-
其他回答
这就发生了! 我不小心点开了“假设不变”! 我试着在网上搜索,但找不到任何可行的解决方案! 所以,我在这里和那里尝试了一些事情,最后我找到了解决方案(最简单的一个),这将撤销假设不变!
右键单击“你的项目”,然后团队>高级>没有假设不变。
如果你正在使用Git扩展,请按照以下步骤进行操作:
进入提交窗口。 单击名为Working directory changes的下拉菜单。 选择显示假定未更改的文件选项。 右键单击要取消预设的文件。 选择“不假设不变”。
你完成了。
如果这是一个您经常使用的命令,您可能也需要考虑为它设置一个别名。添加到全局的.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
or
git unhide myfile.ext
这个git文档非常有用。
根据注释,这也是一个有用的别名,可以找出当前隐藏的文件:
[alias]
hidden = ! git ls-files -v | grep '^h' | cut -c3-
为了综合来自@adardesign, @adswebwork和@AnkitVishwakarma的优秀原始答案,以及来自@Bdoserror, @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中执行,为您的用户在.gitconfig中添加/更新以下别名部分(例如~/。*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-
Git update-index函数有几个选项,你可以输入如下:
git update-index --help
在这里你会发现各种选项-如何处理函数update-index。
[如果你不知道文件名]
git update-index --really-refresh
[如果你知道文件名]
git update-index --no-assume-unchanged <file>
将恢复所有已添加到忽略列表中的文件。
git update-index --assume-unchanged <file>