git忽略文件

参考:
Git 停止追踪文件
git如何停止追踪未被追踪的文件和已被追踪的文件
git 忽略文件, ‘.gitignore’ 与 ‘.git/info/exclude’配置
git update-index --assume-unchanged 找出所有被忽略的檔案的辦法

一、配置没有追踪过的文件

1.1: 如果要多用户都一起忽略,直接配置.gitignore
1.2:如果只想当前用户忽略,配置.git/info/exclude
如果没有info文件夹和exclude文件就创建一个mkdir info && touch info/exclude

.gitignore+.git

.git/info/exclude

二、配置忽略之前追踪过的文件

2.1 只在本地当前用户停止追踪

停止追踪
git update-index --assume-unchanged xxx
恢复追踪
git update-index --no-assume-unchange xxx
查找所有被停止追踪的文件
git ls-files -v | grep '^h\ ' | awk '{print $2}'
将所有停止追踪的文件一次性全部恢复追踪
git ls-files -v | grep '^h\ ' | awk '{print $2}' | xargs git update-index --no-assume-unchanged

2.2 将停止最终的同步到远端大家一起停止最终
git rm --cached xxx
然后再到.gitignore里配置对应的内容
等同于sourcetree里选择停止最终+忽略

停止追踪

忽略g

grep 与 awk 、sed并称为linux下文本处理三剑客,grep用于过滤文本信息,sed用于动态编辑文本,awk用于格式化输出文本。

参考:
Linux下的文本过滤神器-grep
Linux 输出过滤器:grep 命令
Linux awk 命令
Linux xargs 命令

第一种用法:从已存在文件中过滤并输出文本信息
grep [选项] [表达式] [文件路径]...
grep
grep 命令通常和管道符 |一起使用。
第二种用法:过滤管道中获取到的文本信息
otherCommand | grep [选项] [表达式]
command | grep

# 过滤tmpfile1、tmpfile2中包含login字符的行
grep login tmpfile1 tmpfile2
# 实时打印以log结尾的日志文件,过滤包含关键词error的行
tail -f *.log | grep error
# 输出marks.txt文件里包含9的行
grep 9 marks.txt 
cat marks.txt | grep 9 

内容替换
command | sed 's///'

echo 'helloworld' | sed 's/hello/ok/'
# 输出 okworld

内容分割

#每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
cat | awk '{print $1,$4}' 

xargs

#内容单行输出,默认是echo
cat test.txt | xargs
cat test.txt | xargs echo
# 将文件内容变成用空格分割的一行,作为参数传给-n2,
cat test.txt | xargs -n2

你可能感兴趣的:(git忽略文件)