我正在尝试直观地显示文件更改历史记录。 一个简单的方法是在文本模式下使用gitk。 我需要一种视觉方式,所以我写了以下脚本:
$1
$1
将是我的输入
假设我有以下与1b0e691e55caa8fd2b5dd6902f77c406fb68e648
d058c095f7e98a7ebe943c18f87ef087c723bb9f
c4d1769183ab6d852c624e71e6a0ca00dc3b6d13
$1
但是,当我针对1b0e691e55caa8fd2b5dd6902f77c406fb68e648
c4d1769183ab6d852c624e71e6a0ca00dc3b6d13
运行我的脚本时,只会显示这两个提交,
d058c095f7e98a7ebe943c18f87ef087c723bb9f
这一个
^!
以某种方式被跳过,我想这是因为kdiff3
运算符。
我的目的只是在可视化工具中显示文件更改历史记录,例如我最喜欢的一个:git log --follow "$1"|awk '/commit/{print $2}'|while read ss; do echo $ss; done
git log --follow "$1"|awk '/commit/{print $2}'|while read ss; do echo $ss;git difftool $ss^! "$1"; done
。
非常感谢任何替代解决方案/帮助。
更新: 我很确定,所以,我运行这个脚本:
458e7fd3c9ae03c27f6b7924e4725f91483a8f39
e17e1d44d75c73bca6cba27469f9d2a10938be33
1d19ee82dc4fc22e0576d9aee031a3f300b3fa10
458e7fd3c9ae03c27f6b7924e4725f91483a8f39
Viewing (1/1): 'src/main/java/substring_with_concatenation_of_all_words/SubstringwithConcatenationofAllWords.java'
Launch 'kdiff3' [Y/n]:
1d19ee82dc4fc22e0576d9aee031a3f300b3fa10
以下是输出:
e17e1d44d75c73bca6cba27469f9d2a10938be33
您看,提取:silent !command
已被跳过。
答案 0 :(得分:1)
看到if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)) {
// has NFC. Use NFC feature here
}
提示? [Y/n]
正在尝试读取输入并从管道中窃取一行。
您需要重定向以避免这种情况。
git difftool