关于git:git本地忽略assumeunchanged和skipworktree

两种形式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。

文件标识 形容
H 缓存,失常跟踪文件
S skip-worktree文件
h assume-unchanged文件
M unmerged, 未合并
R removed/deleted
C modified/changed批改
K to be killed
? other,疏忽文件

cmd查问本地疏忽
git ls-files -v |find /V "H "
linux查询方法
git ls-files -v | grep '^h\ '

这两个参数区别:

1.assume-unchanged 假设不变。

这个会敞开文件与近程仓库的跟踪,认为这个文件近程仓库是不会批改,所以每次pull都是本地的文件

2.skip-worktree 跳过工作树
这个不会敞开文件与近程仓库的跟踪,只是通知Git不要跟踪对本地文件/文件夹的更改,每次pull时会拉取最新的变动,会提醒抵触,但因为没有跟踪本地更改,所以须要no-skip-worktree再合并最新的变动

所以,最合适的其实是skip-worktree,因为它还在跟踪近程库的批改。

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理