git clone 預設是取回 master 分支,可以使用 -b 引數指定的分支。實際上, -b 引數不僅支援分支名,還支援 tag 名等。git clone <remote-addr:repo.git> -b <branch-or-tag-or-commit>
實際上 clone 回來是包含了該 branch 完整歷史的,所以仍然會有比較多的檔案傳輸。
你可以使用 github 的打包下載功能,tag 可以透過 release 頁面找到連線,也可以直接替換 tag 為任意的branch 名來下載。
簡單一些操作的話,直接給你要下載的commit id 建立一個tag。
更新一下,因為題主需求是獲取commit id,我還沒知道直接的辦法。上面提到的打tag方法不適用於下載第三方內容。下面提供另一個步驟:
優勢是不用clone整個庫(整個分支的歷史),尤其是分支歷史悠久的庫會更頭痛。檔案不大的話,這種方式操作起來還算輕鬆。
git clone 預設是取回 master 分支,可以使用 -b 引數指定的分支。實際上, -b 引數不僅支援分支名,還支援 tag 名等。git clone <remote-addr:repo.git> -b <branch-or-tag-or-commit>
實際上 clone 回來是包含了該 branch 完整歷史的,所以仍然會有比較多的檔案傳輸。
你可以使用 github 的打包下載功能,tag 可以透過 release 頁面找到連線,也可以直接替換 tag 為任意的branch 名來下載。
簡單一些操作的話,直接給你要下載的commit id 建立一個tag。
更新一下,因為題主需求是獲取commit id,我還沒知道直接的辦法。上面提到的打tag方法不適用於下載第三方內容。下面提供另一個步驟:
選擇一個包含目標 commit id 的branch或tag,並指定depth=1以獲得比較少的額外檔案傳輸。 git clone --depth 1 <remote-addr:repo.git> -b <branch-or-tag>clone完成後,進入目錄,執行 git fetch --depth <a-numer>不斷增大步驟2的數字,直到找到你要的commit優勢是不用clone整個庫(整個分支的歷史),尤其是分支歷史悠久的庫會更頭痛。檔案不大的話,這種方式操作起來還算輕鬆。