如何将制表符转换为目录的每个文件中的空格(可能是递归的)?
另外,有没有办法设置每个标签的空格数?
我知道Git会以某种方式自动检测文件是二进制还是文本,如果需要,可以使用gitattributes手动设置它.但是有没有办法向GIT询问它如何处理文件?
所以我们可以说我有在这两个文件一个Git仓库:一个ascii.dat含纯文本和文件binary.dat含随机二进制的东西文件.Git将第一个dat文件作为文本处理,将辅助文件作为二进制文件处理.现在我想写一个Git webfrontend,它有一个文本文件查看器和二进制文件的特殊查看器(例如,显示十六进制转储).当然,我可以实现自己的文本/二进制检查,但如果查看器依赖于Git如何处理这些文件的信息,那将会更有用.
那么我怎么能问Git它是否将文件视为文本或二进制文件?
我有一个巨大的git repo,最终想用bfg清理.
但首先,我想跟踪并删除HEAD
哪个git视为二进制文件...
所以,我正在寻找的是一个命令来查找HEAD中git视为二进制文件的所有文件.
这些没有帮助:
预先感谢您的帮助.
git ls-files
Run Code Online (Sandbox Code Playgroud)
还列出了子模块。
使用:列出 git 存储库中的子模块以及如何从另一个文件 A 中删除出现在文件 B 上的行?我可以:
git ls-files | grep -Fxvf <(git submodule status | cut -d' ' -f3)
Run Code Online (Sandbox Code Playgroud)
或更详细和通用的:
git ls-files | while IFS='' read -r file; do
if [ -f "$file" ]; then
echo "$file"
fi
done
Run Code Online (Sandbox Code Playgroud)
使用一些 git 命令/标志有更短的方法吗?
我正在尝试在 Windows 机器上使用 git bash 的项目中的某些二进制运算符之后grep 所有换行符。
尝试了以下不起作用的命令:
$ git grep "[+-*\|%]\ *\n"
fatal: command line, '[+-*\|%]\ *\n': Invalid range end
$ git grep "[+\-*\|%]\ *\n"
fatal: command line, '[+\-*\|%]\ *\n': Invalid range end
Run Code Online (Sandbox Code Playgroud)
好的,我不知道如何在字符集中包含“-”,但是在删除它之后仍然可以从字面上\n
匹配字符n
:
$ git grep "[+*%] *\n"
somefile.py: self[:] = '|' + name + '='
^^^
Run Code Online (Sandbox Code Playgroud)
转义反斜杠一次 ( \\n
) 无效,转义两次 ( \\\n
) 会导致正则表达式匹配\n
(字面意思)。
在这里 grep 的正确方法是什么?