[英]Get Commit-Hash of specific file/folder from remote git-repo
目前我們執行git log --pretty=tformat:"%H" -n 1 folder/file
來檢索當前簽出分支中文件的最新提交 hash。 但這需要在本地克隆 git 存儲庫。
有沒有辦法確定遠程 git 存儲庫上特定分支中特定文件的提交 hash?
為此,我需要一個普通的 git 命令,而不是 git 接口的命令,例如 git 或 ZD0498FAC9D755142B3DFZ771。
有沒有辦法確定遠程 git 存儲庫上特定分支中特定文件的提交 hash?
不完全是,不。 您只能使用本地存在的提交來執行此操作,並且不能保證他們擁有的任何提交,您也擁有。 所以這里實際上有兩個問題:
首先,您需要確定他們用於分支名稱的hash ID。
然后,完成上述操作后,您需要確保您擁有該提交及其前身。
然后,您可以使用本地操作在本地查找您關心的文件最近更改的本地提交,就像您已經在執行此操作一樣。 但是您需要先同時達到這兩個要點。 這樣做的方法是在本地擁有存儲庫,將其他 Git 添加為遠程,然后運行git fetch
到該遠程,以便您獲得與其分支名稱相對應的遠程跟蹤名稱。
例如,假設他們的 Git 存儲庫的 URL 是$url
。 然后你可以使用:
git remote add them $url
git fetch them
然后對以下內容進行微小修改:
git log --pretty=tformat:"%H" -n 1 folder/file
只需在路徑名之前添加them/branchname
名(並且,為了一般安全,在路徑名之前添加--
也是如此):
git log --pretty=tformat:"%H" -n 1 them/branchname -- folder/file
請注意,您只需要使用git remote add
一次,但您需要在任何掃描之前運行git fetch them
,以獲取他們擁有的任何新提交並將其branchname
的更新值放入您的them/branchname
。
(您可以選擇使用git fetch them branchname
,這有時會節省一點時間。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.