git 不跟踪某些文件的几种方式

git 忽略文件比较

.gitignore

.gitignore: 只能完全忽略文件, 不把 文件 包含到 git 历史 管理中

通常用于忽略对其他人没有用的临时目录

已经被提交的文件, 无法使用 .gitignore 忽略变更

git update-index --assume-unchanged

可以忽略被提交的文件以后的更改

但是仍然保留文件 未来的更改, 文件还会 存在于 git 管理历史中

适合于 .devcontainer 这种团队共享配置

但是开发者可能 微调 的 目录

git 不再 跟踪 文件变化

只能 取消 对 某个文件的 跟踪

git update-index --assume-unchanged

所以需要 配合 find 一起使用

bash 复制代码
# 不再跟踪 某个目录
find .devcontainer -type f -exec  git update-index --assume-unchanged {} \;

# git ls-files:列出 Git 仓库中的所有文件。
# -v:详细模式,显示每个文件的类型和模式。
# grep 'h':过滤输出,只显示那些被标记为 assume-unchanged 的文件(h 表示该文件被标记为 "skipped")。
# 查询 不再 被 跟踪 的文件
git ls-files -v | grep '^h '

# 取消 "不再跟踪 规则"
find .devcontainer -type f -exec git update-index --no-assume-unchanged {} \;
相关推荐
云攀登者-望正茂2 小时前
将 develop 分支拉取到特性分支时解决合并污染问题
git
金銀銅鐵5 小时前
[git] 如何找到已经“丢失”的 commit?
git·后端
尘世壹俗人5 小时前
linux编译安装git
linux·运维·git
打不了嗝 ᥬ᭄1 天前
Git 原理与使用
git·gitee
m0_614619061 天前
花了一下午学 Git,整理了一份学习笔记
笔记·git·学习
AGV算法笔记1 天前
解决Git> git add -A -- fatal: CRLF would be replaced by LF in Test/Test.cpp
git
Dontla1 天前
VSCode插件Git Graph介绍(Git可视化管理分支、可视化Git)
ide·git·vscode
Echoo华地1 天前
用git diff快速比较文件夹差异并生成报告
linux·git·unix·repository·diff·branch
勤劳打代码1 天前
防微杜渐 —— 为什么一次 Sync 会变成一次 merge?
git·团队管理
dyxal1 天前
Windows 下 Git 离线安装与 VS Code 便携版集成完全指南
windows·git·elasticsearch