2017-09-25 56 views
1

我想知道之間的git的差異,如果有可能做出這樣的:如何獲得資源庫代碼,而無需克隆/結帳

git的差異--repository SSH:// @ git的服務器/ repository.git TAG1 TAG2

我知道你要問:「你爲什麼不乾脆克隆回購,然後進行典型的差異」

那麼,我想製作一個腳本,它將盡可能快地遍歷數十個存儲庫,以便找到我感興趣的更改。此腳本將被許多人使用,所以我真的想避免放慢速度它下載每個存儲庫。

所以,我的最後一個問題:有什麼可以做這樣的差異?

+0

你已經標記了[github],一個[github]特定解決方案(比如指向diff的鏈接)是否能滿足你的問題? –

+0

我的錯誤...該標籤不應該在這裏。我的git存儲庫託管在bitbucket上,而不是github上。對不起,誤導你。 – localhost

+0

同樣的問題:一個[bitbucket]鏈接是否能滿足你的問題? –

回答

3

我不認爲這是可以做到的。

Git不會存儲提交之間的差異(儘管你相信很多解釋),但實際上存儲了不同版本的對象。 (它確實將這些不同的版本壓縮在一起,雖然產生了類似於差異的東西)。

爲了向您展示典型的git diff輸出,git實際上會根據需要比較對象,並計算差異。

我不明白如何檢查(至少部分)存儲庫以使對象進行比較可以做到這一點。或者讓服務器通過在服務器端計算差異來進行協作(如具有GitHub/BitBucket特定選項的註釋中所建議的那樣)。

如果您想最小化要傳輸的數據量,可以查看shallow clones