Git 不记录本地修改的几种方法

第一种: .gitignore

缺点就是所有人都可以看到

第二种:.git/info/exclude

.gitignore 的用法一样。优点:其他人看不到你 ignore 的信息了。

以上方法都只适用未被 git 追踪的文件

第三种:git update-index –assume-unchanged

这种我比较常用,比如提交一个 commit 但有些调试代码,但这些调试代码不想被提交,还不想 checkout。

git ls-files -v | grep '^[[:lower:]]' # If the character printed is lower-case, the file is marked assume-unchanged.

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

第四种:git update-index –skip-worktree

第三种如果切换分支的话,还是还原在当前的分支的状态。使用这个方法可以避免这种情况

git ls-files -v | grep '^S' # S means skip-worktree

git update-index --no-skip-worktree <file>