一個麻煩點就是,我需要閱讀一個大點的開源項目,遠程倉庫的代碼量太龐大了,如果我需要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#