git 不用clone整個遠程倉庫,只把特定的commit給fetch下來的方案


一個麻煩點就是,我需要閱讀一個大點的開源項目,遠程倉庫的代碼量太龐大了,如果我需要git reset --hard [commit sha1]感興趣的commit快照,就首先得git clone整個遠程倉庫,

時間需要等待太長,而且網絡一旦有問題還會功虧一簣。所有有沒有一種只拉取遠程倉庫中的某個commit呢?有。命令行如下:

 

# make a new blank repository in the current directory
git init

# add a remote
git remote add [nick_name] [url://to/source/repository]

# fetch a commit (or branch or tag) of interest
# Note: the full history of this commit will be retrieved
git fetch [nick_name] <sha1-of-commit-of-interest>

# reset this repository's master branch to the commit of interest
git reset --hard FETCH_HEAD


references:
https://stackoverflow.com/questions/14872486/retrieve-specific-commit-from-a-remote-git-repository
https://stackoverflow.com/questions/14370157/git-fetch-a-specific-commit-by-hash
https://stackoverflow.com/questions/3489173/how-to-clone-git-repository-with-specific-revision-changeset#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM