首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从远程git-repo获取特定文件/文件夹的提交散列

从远程git-repo获取特定文件/文件夹的提交散列
EN

Stack Overflow用户
提问于 2021-05-05 16:55:46
回答 1查看 29关注 0票数 0

目前,我们使用git log --pretty=tformat:"%H" -n 1 folder/file来检索当前检出分支中文件的最新提交散列。但这需要在本地克隆git存储库。

有没有办法确定远程git存储库上特定分支中特定文件的提交散列?

我需要一个简单的git命令,而不是像git或gitlab这样的git接口命令。

EN

回答 1

Stack Overflow用户

发布于 2021-05-05 18:39:27

有没有办法确定远程git存储库上特定分支中特定文件的提交散列?

不完全是,不。您只能使用本地存在的提交来做到这一点,并且不能保证它们拥有的任何提交都是您拥有的。所以这里实际上有两个问题:

  • 首先,您需要确定他们用于其分支机构名称的哈希ID。

  • 然后,完成上述操作后,您需要确保拥有该提交及其前置任务。

然后,您可以使用本地操作在本地查找您所关心的文件最近被更改的本地提交,方法与您已经在做的相同。但您需要先列出这两个要点。要做到这一点,方法是将存储库放在本地,将另一个Git添加为远程,然后对该远程运行git fetch,这样您就可以获得与其分支名称相对应的远程跟踪名称。

比方说,他们的Git仓库的网址是$url。然后,您可以使用:

代码语言:javascript
复制
git remote add them $url
git fetch them

然后对以下内容进行了微小的修改:

git log --pretty=tformat:"%H" -n 1 folder/file

只需在路径名之前添加them/branchname (为了一般安全起见,也可以在路径名之前添加-- ):

代码语言:javascript
复制
git log --pretty=tformat:"%H" -n 1 them/branchname -- folder/file

请注意,您只需要使用git remote add一次,但您需要在任何扫描之前运行git fetch them,以获取它们拥有的任何新提交,并将其branchname的更新值保存到您的them/branchname中。

(您可以选择使用git fetch them branchname,这有时会节省一点时间。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67398088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档