利用git克隆历史版本(下载指定版本的代码)

目录

git克隆历史版本(下载指定版本的代码)

步骤一:首先git clone 当前项目至文件夹

步骤二:cd 进入clone下来的项目文件夹内

步骤三:在git 仓库查看SHA,或输入命令git log 查看提交的历史commit

步骤四:复制需要回退版本到的commit后面序列,命令如下即可回退到指定版本

 git checkout xxxxxxxxxxxxxxx

git版本克隆方法

克隆最新版本

git clone --depth=1 代码库的ssh

克隆历史版本

1、git clone 代码库的ssh

2、cd 克隆的项目名

3、git log(查看历史版本的commit)

4、git checkout 历史版本的commit

迁移git仓库并带有历史提交记录

迁移git仓库

开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不是重新开发,重头再来。

我们可以这样做:

使用--mirror模式会把本地的分支都克隆。

// 先用--bare克隆裸仓库
git clone git@gitee.com:xxx/testApp1.git --bare
// 进入testApp1.git,这样就可以把所有分支都克隆到新仓库了
git push --mirror git@gitee.com:xxx/testApp2.git

我们还可以这样做:

git remote add gitlab git@gitee.com:xxx/testApp2.git
git push gitlab
git checkout dev
git push gitlab
...

这样的方法是,把testApp2作为新增的远程仓库,然后使用push一次推送一个分支。这种方式的好处是:迁移的git仓库,只需迁移指定的分支。

迁移git仓库子目录

上面的方法是整个仓库的迁移,但如果只想迁移git仓库的子目录,则可以使用git subtree,比如想要把仓库目录thirdparty\telnetd拆分出去作为一个新的库,并且还要带上她所有的历史提交记录。

首先,我们同样需要新建一个新的空仓库(注意:不要带有任何初始化文件,包括README.md)。

然后,到主仓库执行以下git命令,就可以看到telnetd仓库已有代码了。

git subtree push --prefix=thirdparty/telnetd git@gitee.com:components/telnetd.git master

这样,就完成子目录的迁移啦,就是有个问题,好慢~ 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码部落。

本文章来源于网络,作者是:非为000,由代码部落进行采编,如涉及侵权请联系删除!转载请注明出处:https://daimabuluo.cc/xiangguanjiqiao/1571.html

联系我们

在线咨询:点击这里给我发消息

邮件:dick@daimabuluo.cc

遇到问题?请给我们留言

请填写您的邮箱地址,我们将回复您的电子邮件