Git克隆特定版本的远程存储库
大约一个月前我克隆了一个远程git存储库。 远程存储库经历了许多变化,现在变得不稳定。 现在我需要另一个版本库,版本与我在一个月前克隆的版本相同。
我该怎么做呢?
您可以将您的存储库“重置”为任何您想要的提交(例如1个月前)。
使用git-reset:
git clone [remote_address_here] my_repo
cd my_repo
git reset --hard [ENTER HERE THE COMMIT HASH YOU WANT]
你可以简单地使用
git checkout commithash
在这个序列中
git init
git clone `URLTORepository`
cd `into your cloned folder`
git checkout commithash
提交哈希看起来像这样“45ef55ac20ce2389c9180658fdba35f4a663d204”
使用git log
来查找您想要回滚的修订版本,并记下提交哈希。 之后,你有两个选择:
如果您打算在修订后提交任何内容,我建议您签出一个新的分支: git checkout -b <new_branch_name> <hash>
如果你不打算在修订版之后提交任何东西,你可以简单地在没有分支的情况下签出: git checkout <hash>
- 注意:这会使你的版本库处于“分离的HEAD”状态,这意味着它的目前没有附加到任何分支 - 那么你会有一些额外的工作来将新的提交合并到实际的分支。
例:
$ git log
commit 89915b4cc0810a9c9e67b3706a2850c58120cf75
Author: Jardel Weyrich <suppressed>
Date: Wed Aug 18 20:15:01 2010 -0300
Added a custom extension.
commit 4553c1466c437bdd0b4e7bb35ed238cb5b39d7e7
Author: Jardel Weyrich <suppressed>
Date: Wed Aug 18 20:13:48 2010 -0300
Missing constness.
$ git checkout 4553c1466c437bdd0b4e7bb35ed238cb5b39d7e7
Note: moving to '4553c1466c437bdd0b4e7bb35ed238cb5b39d7e7'
which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
HEAD is now at 4553c14... Missing constness.
这样你就不会丢失任何信息,因此当它变得稳定时,你可以移动到更新的版本。
链接地址: http://www.djcxy.com/p/23607.html