git忽略文件
参考:
Git 停止追踪文件
git如何停止追踪未被追踪的文件和已被追踪的文件
git 忽略文件, ‘.gitignore’ 与 ‘.git/info/exclude’配置
git update-index –assume-unchanged 找出所有被忽略的檔案的辦法
一、配置没有追踪过的文件
1.1: 如果要多用户都一起忽略,直接配置.gitignore
全局忽略文件地址:open ~/.gitignore_global
当前项目的忽略文件: 项目根路径下,如果没有就直接创建一个
1.2:如果只想当前用户忽略,配置.git/info/exclude
如果没有info文件夹和exclude文件就创建一个mkdir info && touch info/exclude
二、配置忽略之前追踪过的文件
2.1 只在本地当前用户停止追踪
停止追踪
1
git update-index --assume-unchanged xxx
恢复追踪
1
git update-index --no-assume-unchange xxx
查找所有被停止追踪的文件
1
git ls-files -v | grep '^h\ ' | awk '{print $2}'
将所有停止追踪的文件一次性全部恢复追踪
1
git ls-files -v | grep '^h\ ' | awk '{print $2}' | xargs git update-index --no-assume-unchanged
2.2 将停止最终的同步到远端大家一起停止最终
1
git rm --cached xxx
然后再到.gitignore里配置对应的内容 等同于sourcetree里选择停止最终
+忽略
grep 与 awk 、sed并称为linux下文本处理三剑客,grep用于过滤文本信息,sed用于动态编辑文本,awk用于格式化输出文本。
参考: Linux下的文本过滤神器-grep Linux 输出过滤器:grep 命令 Linux awk 命令 Linux xargs 命令
第一种用法:从已存在文件中过滤并输出文本信息 grep [选项] [表达式] [文件路径]...
grep <searchWord> <file name>
grep 命令通常和管道符 |
一起使用。 第二种用法:过滤管道中获取到的文本信息 otherCommand | grep [选项] [表达式]
command | grep <searchWord>
1
2
3
4
5
6
7
# 过滤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/<oldWord>/<newWord>/'
1
2
echo 'helloworld' | sed 's/hello/ok/'
# 输出 okworld
内容分割
1
2
3
#每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
cat | awk '{print $1,$4}'
xargs
1
2
3
4
5
#内容单行输出,默认是echo
cat test.txt | xargs
cat test.txt | xargs echo
# 将文件内容变成用空格分割的一行,作为参数传给-n2,
cat test.txt | xargs -n2