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

2次阅读

共计 749 个字符,预计需要花费 2 分钟才能阅读完成。

两种形式 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:这个会删除近程仓库疏忽文件,保留本地文件

正文完
 0