我正在做一些Git的高級用法,爲了優化我的代碼的測試運行來查詢對象,所以請耐心等待下面的聲音與大多數人的用法相差甚遠用Git做。Git:探索遠程對象
我想做類似git cat-file -p [...]
的東西,除了遙控器上的物體,不需要取物。即,我想說,「在遠程origin
上,顯示我提交A
,具體告訴我它的樹的標識是什麼;然後向我顯示樹的內容(blob和子樹的列表)。」我不需要獲取文件的實際內容,只是上面的信息。
我知道我可以從遠程獲取提交到我的本地倉庫,並使用git cat-file
,但它會涉及從遠程獲取提交的所有父母,這可能需要很長時間。我需要這個很快,因爲它是在一個程序中完成的,該程序應該在許多不同的存儲庫上每天運行數百次。
有沒有辦法做到上述而不提取提交?
謝謝,這可能會工作,但這意味着我現在必須添加查看url的邏輯,看看它是否是ssh,如果使用SSH庫訪問服務器......這是一個大混亂。我希望有一個更好的解決方案。 –
是的,你將不得不自己編程,沒有比'git fetch'更低級別的命令,你可以指示你獲取單獨的提交。我不會把它稱爲一團糟,只是編程。我將從'system(「scp ...」)開始,或者以您選擇的腳本語言調用系統命令的任何內容開始,並且如果由於子進程啓動導致性能不佳,則只能使用SSH庫。如果他們有http訪問權限,那麼它就是相同的答案,只是不同的protocoll。 – AnoE