利用git克隆歷史版本(下載指定版本的代碼)
git克隆歷史版本(下載指定版本的代碼)
步驟一:首先git clone 當(dāng)前項目至文件夾
步驟二:cd 進入clone下來的項目文件夾內(nèi)
步驟三:在git 倉庫查看SHA,或輸入命令git log 查看提交的歷史commit

步驟四:復(fù)制需要回退版本到的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倉庫
開發(fā)在很多時候,會遇到一個問題。GIT倉庫的管理,特別是倉庫的遷移。我需要保留已有的歷史記錄,而不是重新開發(fā),重頭再來。
我們可以這樣做:
使用--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)。
然后,到主倉庫執(zhí)行以下git命令,就可以看到telnetd倉庫已有代碼了。
git subtree push --prefix=thirdparty/telnetd git@gitee.com:components/telnetd.git master
這樣,就完成子目錄的遷移啦,就是有個問題,好慢~
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jenkins集成Gitlab實現(xiàn)自動化部署的全過程記錄
因為中型公司不可能配置運維開發(fā),而開發(fā)只管開發(fā)的,所以運維只能是通過使用開源工具的方式來搭建自動化部署系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Jenkins集成Gitlab實現(xiàn)自動化部署的相關(guān)資料,需要的朋友可以參考下2022-04-04
基于rsync寫腳本實現(xiàn)多節(jié)點多服務(wù)器文件一鍵同步的方法
這篇文章主要介紹了利用rsync寫腳本實現(xiàn)多節(jié)點多服務(wù)器文件一鍵同步,本文將介紹?scp?和?rsync?兩個命令及基本語法介紹,需要的朋友可以參考下2022-01-01

