簡體   English   中英

從遠程 git-repo 獲取特定文件/文件夾的 Commit-Hash

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM