两种方式assume-unchanged和skip-worktree

  1. 添加本地忽略

    git update-index --assume-unchanged 【文件路径】
    git update-index --skip-worktree 【文件路径】
  2. 移除本地忽略(恢复跟踪)

    git update-index --no-assume-unchanged vue.config.js
    git update-index --no-skip-worktree vue.config.js

3.git ls-files -v查看所有文件列表,小写h开头是assume-unchanged,大写S是skip-worktree。
image.png

文件标识描述
H缓存,正常跟踪文件
Sskip-worktree文件
hassume-unchanged文件
Munmerged, 未合并
Rremoved/deleted
Cmodified/changed修改
Kto be killed
?other,忽略文件
cmd查询本地忽略
git ls-files -v |find /V "H "

image.png

linux查询方法
git ls-files -v | grep '^h\ '

这两个参数区别:

1.assume-unchanged 假定不变。

这个会关闭文件与远程仓库的跟踪,认为这个文件远程仓库是不会修改,所以每次pull都是本地的文件

2.skip-worktree 跳过工作树
这个不会关闭文件与远程仓库的跟踪,只是告诉Git不要跟踪对本地文件/文件夹的更改

pull拉取最新的变化,会提示冲突,但因为没有跟踪本地更改,所以需要no-skip-worktree再合并最新的变化

最合适的是skip-worktree,因为它还在跟踪远程库的修改。只是合并修改比较麻烦

另:.git/info/exclude:这个会删除远程仓库忽略文件,保留本地文件

肥皂泡
382 声望6 粉丝

码农


« 上一篇
无限滚动列表
下一篇 »
ts 高级工具类