栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从git安装pip包时知道使用了哪个提交?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从git安装pip包时知道使用了哪个提交?

您可以使用knittl的想法来查找最接近的提交-
以下唯一的修改是解决将git树与已安装的软件包而不是git存储库进行比较的事实:

由于安装的软件包可能缺少git存储库的某些目录结构,因此请为git repo创建一个新目录。我将

html5lib
举一个例子:

mkdir ~/tmp/html5libcd ~/tmp/html5lib/git init

现在获取git树:

git remote add foreign https://github.com/html5lib/html5lib-pythongit fetch foreign

将已安装的软件包复制到git repo中:

rsync -a ~/.virtualenvs/muffy/lib/python3.4/site-packages/html5lib ~/tmp/html5lib/

运行

git diff
以将仓库的当前状态(以及已安装的软件包的代码)与git树中的每个修订进行比较:

for REV in $(git rev-list --all); do    echo $(git diff --shortstat foreign/master $REV) $REV ;done | sort -n

按文件更改的数量,插入的数量,删除的数量排序。输出将如下所示:

1 file changed, 3 insertions(+), 1 deletion(-) 17499b9763a090f7715af49555d21fe4b558958b2 files changed, 10 insertions(+), 8 deletions(-) ec674a97243e76da43f06abfd0a891308f1ff8013 files changed, 17 insertions(+), 12 deletions(-) 1a28d721091a2c433c6e8471d14cbb75afd70d1c4 files changed, 18 insertions(+), 13 deletions(-) ff6111cd82191a2eb963d6d662c6da8fa2e7ddde6 files changed, 19 insertions(+), 19 deletions(-) ea0fafdbff732b1272140b696d6948054ed1d6d2

每行的最后一项是关联的git commit。

如果git历史记录很长,您将需要修改

git rev-list --all
为一系列提交。例如,用于
git rev-listtag1..tag2
在两个标签之间搜索。如果您大概知道该软件包的安装时间,则可能会对要使用的标签有一个很好的猜测。使用
gittag
以显示可能的变量的名称。有关更多选项,请参阅文档。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400182.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号