首先,我想向您展示我正在处理的数据。我有一个提交哈希列表,例如:
008f1dcf984ede76c8e23c88c346fde38b6399e6
b665ceb8f06b009106eea99f296a24e338952545
ba90664a9316dedd7d2fa7ee0c7c01548f9c2b81
e36475c7cdba3dcdd5a606a328b72fa8bed5cec5
df7aec65c7c2f5efb8921ed2df6f2ce2a88507a6
用户输入:
b
生成的哈希建议列表:
b665ceb8f06b009106eea99f296a24e338952545
ba90664a9316dedd7d2fa7ee0c7c01548f9c2b81
首先,当用户输入几个字符时,我必须检查有多少哈希从给定模式开始。如果模式匹配只有10个哈希值,我想向他显示一个建议的提交哈希值列表。
我正在寻找一个git命令,它将帮助我计算以给定的字符串和git命令开头的哈希来获取此列表。给定的命令应该在Windows和Unix系统下工作(我可能会为每个操作系统使用不同的命令)。
答案 0 :(得分:3)
如果“b”是你在unix中寻找的模式,我会这样做:
git log --format=oneline | awk '/^b/'
另一个例子(从4cdf
开始查找哈希值,并仅输出数字):
git log --format=oneline | awk '/^4cdf/' | wc -l
我完全不了解Windows,所以其他人必须帮助你......
答案 1 :(得分:1)
基于@jszakmeister提示的解决方案:
git rev-parse --disambiguate=4cdf| git cat-file --batch-check
或者如果您的字符少于四个:
git rev-list --all | grep '^b'