git文件忽略

【.gitignore】:这个忽略文件会上传到远程仓库,会使所有人都按照这个文件规则忽略文件

【.git/info/exclude】:这个会关闭文件与远程仓库的跟踪,认为这个文件远程仓库是不会修改,所以每次pull都是本地的文件

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

【skip-worktree】:这个不会关闭文件与远程仓库的跟踪,只是告诉Git不要跟踪对本地文件/文件夹的更改,每次pull时会拉取最新的变化会提示冲突,但因为没有跟踪本地更改,所以需要no-skip-worktree再合并最新的变化

以上在commit时都会忽略文件

附:

【skip-worktree】常用命令:

【skip-worktree】标记一个文件

git update-index --skip-worktree project-1.yml

git update-index --skip-worktree project-2.yml

获取被【skpi-worktree】标记的文件

git ls-files -v | grep -i "^S"

取消单个文件【skip-worktree】标记

git update-index --no-skip-worktree project-1.yml

git update-index --no-skip-worktree project-2.yml

批量取消文件【skip-worktree】标记

git ls-files -v | grep -i "^S" | cut -c 3- | tr '\012' '\000' | xargs -0 git
update-index --no-skip-worktree

批量取消代码解析

git ls-files -v

显示所有文件的状态

grep -i ^S cut -c 3-

提取从第三个字符开始到结尾,去掉状态只保留路径

tr ‘\012’ ‘\000’

替换换行符 (\012) 为 (\000)

xargs -0 git update-index --no-skip-worktree

把以0分割的路径字符传给 git update-index --no-skip-worktree 取消

【assume-unchanged】常用命令

【assume-unchanged】标记一个文件

git update-index --assume-unchanged project-1.yml
git update-index --assume-unchanged project-2.yml

获取被【assume-unchanged】标记的文件

git ls-files -v | grep -I "^h"

取消单个文件【assume-unchanged】标记

git update-index --no-assume-unchanged project-1.yml

git update-index --no-assume-unchanged project-2.yml

批量取消文件【assume-unchanged】标记

git ls-files -v | grep -I "^h" | cut -c 3- | tr '\012' '\000' | xargs -0 git
update-index --no-assume-unchanged
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值