git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案

Posted foo__hack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#

以上是关于git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案的主要内容,如果未能解决你的问题,请参考以下文章

git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案

git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案

git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案

git clone了整个远程仓库分支

git clone

Git Clone