利用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
这样,就完成子目录的迁移啦,就是有个问题,好慢~
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
永恒之蓝实战教程之Mac通过Metasploit攻击Server2008的详细过程
这篇文章主要介绍了永恒之蓝实战教程 Mac通过Metasploit攻击Server2008,首先准备一个Server2008,主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源,需要的朋友可以参考下2022-08-08吐血推荐珍藏的Visual Studio Code插件(推荐)
这篇文章主要介绍了吐血推荐珍藏的Visual Studio Code插件(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-01-01Idea 2019.3 本应该搜索到的插件却搜索不到的解决方法
这篇文章主要介绍了Idea 2019.3 本应该搜索到的插件却搜索不到,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-06使用TeXLive2022和VSCode安装配置步骤(LaTeX写论文)
这篇文章主要介绍了使用TeXLive2022和VSCode的安装配置步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-07-07
最新评论