给定一个随机文件,是否有规范方法从命令行确定该文件是否属于特定提交?
这类似于堆栈溢出问题find-out-git-commit-a-file-was-taken-from,除了我希望能够在脚本中使用它并且也不能创建临时分支.
以下是我为此目的使用的脚本的摘录。我使用我有限的 git 知识和我在网上找到的其他脚本片段将它组合在一起。它工作得很好,但我经常发现在 git 中做事的方法比我通过反复试验学到的方法更简单。
FILE=$1
# git hash for file
HASH=`git hash-object $FILE`
# git revisions for file
REVS=`git log --pretty=%H -- $FILE`
# check each revision for checksum match
for rev in $REVS; do
POSSIBLE=`git ls-tree $rev $FILE | awk '{print $3}'`
if [[ $HASH == $POSSIBLE ]]; then
echo $rev
fi
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
708 次 |
| 最近记录: |