Git/TortoiseGit 查看/取消(no-assume-unchanged)所有假定未变更(assume-valid)文件

合作开发时我们通常会有这种需求:

自己的配置,不需要上传到服务器,然后服务器上又有这个文件,文件夹状态是红色已变更,我们不能写在.ignore中,那么我们会用到本地假定未变更功能。

用多了这个功能,到底哪些文件假定未变更了?不熟悉git我们可能就找不到了,这里总结下。

Git通用命令:

启动C:\Program Files\Git\git-bash.exe

查看所有假定未变更:

命令 cd "<floder>"

例(这个地方win10有个bug,不能在【属性-安全】里面复制路径,会有不可见特殊字符):

cd "C:\Subversion\CommonUtils-dot-net-core_git"

命令:

git ls-files -v|grep "^h"

显示 h <file>

例:

h .gitignore
h README.md

取消所有假定已未变更:

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

例:

git update-index --no-assume-unchanged .gitignore
git update-index --no-assume-unchanged README.md

TortoiseGit:

检查已修改

显示已标记的忽略本地变更的文件

取消assume-unchanged标记,支持多选!

`git update-index --no-assume-unchanged` 是一个用于恢复 Git文件跟踪的命令。 ### 使用方法 - **恢复单个文件的跟踪**:要恢复对特定文件的跟踪,可以使用如下命令: ```bash git update-index --no-assume-unchanged sp_edaijia/protected/controllers/ApiController.php ``` 此命令可恢复对 `sp_edaijia/protected/controllers/ApiController.php` 文件的跟踪,使 Git 能够再次检测该文件的更改并将其纳入版本控制 [^1]。 - **恢复所有已忽略文件的跟踪**:若要一次性将已添加到 `assume-unchanged` 列表的所有文件重置为 `no-assume-unchanged`,可执行以下命令: ```bash git ls-files -v | grep '^h' | sed 's/^..//' | sed 's/\ /\\ /g' | xargs -I FILE git update-index --no-assume-unchanged FILE || true ``` 该命令会找出所有被标记为 `assume-unchanged` 的文件,并恢复对它们的跟踪 [^4]。 ### 作用 `git update-index --assume-unchanged` 命令用于告诉 Git 忽略对某些文件的跟踪,而 `git update-index --no-assume-unchanged` 则是其反向操作。当使用 `--assume-unchanged` 标记文件后,Git 会认为这些文件不会被修改,从而忽略本地对这些文件的改动。而使用 `--no-assume-unchanged` 可撤销这种忽略,让 Git 重新跟踪这些文件,再次检测文件的更改情况并将其纳入版本控制 [^1][^3]。 ### 相关注意事项 - **谨慎操作**:恢复对文件的跟踪后,Git 会立即检测到文件的当前状态与上次提交之间的差异,可能会将这些差异标记为待提交的更改。因此,在执行此命令前,要确认是否真的需要恢复对这些文件的跟踪。 - **批量恢复**:使用批量恢复命令时,要确保命令的正确性,避免误操作导致不必要的文件被跟踪。同时,批量恢复可能会使很多文件状态变为待提交,需谨慎处理这些更改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海好程序员

给上海好程序员加个鸡腿!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值