有时会有一些已更改的文件以及一些新的,已删除和/或重命名的文件.在做git diff或者git-log我想省略它们时,我可以更好地发现修改.
实际上,列出新文件和已删除文件的名称是最好的.对于"旧"重命名为"新"我想选择性地区分"旧"和"新".
我正在手动审查一些消息目录中搜索和替换脚本所做的大量更改(在1000年代).目前我正在做git add -p,但我一直在休息检查其他文件或调整脚本,所以我交替使用它git checkout -p来丢弃我不想要的更改.有没有办法将两者结合起来?即每个大块我希望选择暂存它,或丢弃它.
当我有:
我该如何只上新的?
git alias adduntracked=…
Run Code Online (Sandbox Code Playgroud) 我们可以使用一些忽略空格的方法来做比较:
1)git diff --ignore-space-at-eol#忽略EOL处空格的更改。
2)git diff --ignore-space-change/ git diff -b#忽略空白量的变化。
3)git diff --ignore-all-space/ git diff -w#全空格忽略
我们能做的
git apply --ignore-whitespace\ git apply --ignore-space-change#应用补丁时忽略白蜡
但是,如何排除具有空格变化的文件git add *呢?
这些解决方案不适用于我:
1)
git diff -w --no-color | git apply --cached --ignore-whitespace
Run Code Online (Sandbox Code Playgroud)
-有时会写入错误,并且不会添加新文件进行跟踪。
2)
git add `git diff -w --ignore-submodules |grep "^[+][+][+]" |cut -c7-`
Run Code Online (Sandbox Code Playgroud)
-它会写错误并且什么也不做(可能是因为我有二进制文件,而不仅仅是文本文件)
PS:也许有办法用最后一次提交的文件替换文件(文件末尾有行空格,EOF之前有空格)。