利用git克隆歷史版本(下載指定版本的代碼)
git克隆歷史版本(下載指定版本的代碼)
步驟一:首先git clone 當(dāng)前項(xiàng)目至文件夾
步驟二:cd 進(jìn)入clone下來的項(xiàng)目文件夾內(nèi)
步驟三:在git 倉(cāng)庫(kù)查看SHA,或輸入命令git log 查看提交的歷史commit
步驟四:復(fù)制需要回退版本到的commit后面序列,命令如下即可回退到指定版本
git checkout xxxxxxxxxxxxxxx
git版本克隆方法
克隆最新版本
git clone --depth=1 代碼庫(kù)的ssh
克隆歷史版本
1、git clone 代碼庫(kù)的ssh
2、cd 克隆的項(xiàng)目名
3、git log(查看歷史版本的commit)
4、git checkout 歷史版本的commit
遷移git倉(cāng)庫(kù)并帶有歷史提交記錄
遷移git倉(cāng)庫(kù)
開發(fā)在很多時(shí)候,會(huì)遇到一個(gè)問題。GIT倉(cāng)庫(kù)的管理,特別是倉(cāng)庫(kù)的遷移。我需要保留已有的歷史記錄,而不是重新開發(fā),重頭再來。
我們可以這樣做:
使用--mirror模式會(huì)把本地的分支都克隆。
// 先用--bare克隆裸倉(cāng)庫(kù) git clone git@gitee.com:xxx/testApp1.git --bare // 進(jìn)入testApp1.git,這樣就可以把所有分支都克隆到新倉(cāng)庫(kù)了 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作為新增的遠(yuǎn)程倉(cāng)庫(kù),然后使用push一次推送一個(gè)分支。這種方式的好處是:遷移的git倉(cāng)庫(kù),只需遷移指定的分支。
遷移git倉(cāng)庫(kù)子目錄
上面的方法是整個(gè)倉(cāng)庫(kù)的遷移,但如果只想遷移git倉(cāng)庫(kù)的子目錄,則可以使用git subtree,比如想要把倉(cāng)庫(kù)目錄thirdparty\telnetd拆分出去作為一個(gè)新的庫(kù),并且還要帶上她所有的歷史提交記錄。
首先,我們同樣需要新建一個(gè)新的空倉(cāng)庫(kù)(注意:不要帶有任何初始化文件,包括README.md)。
然后,到主倉(cāng)庫(kù)執(zhí)行以下git命令,就可以看到telnetd倉(cāng)庫(kù)已有代碼了。
git subtree push --prefix=thirdparty/telnetd git@gitee.com:components/telnetd.git master
這樣,就完成子目錄的遷移啦,就是有個(gè)問題,好慢~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解git merge 與 git rebase的區(qū)別
這篇文章主要介紹了詳解git merge 與 git rebase的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07程序員開發(fā)項(xiàng)目是選擇效率還是質(zhì)量呢?
這篇文章主要介紹了程序員開發(fā)項(xiàng)目是選擇效率還是質(zhì)量呢?本文對(duì)這個(gè)每個(gè)程序員都會(huì)遇到的一個(gè)問題做了講解,需要的朋友可以參考下2014-07-07搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問題
面對(duì)各種新場(chǎng)景對(duì)websocket功能和性能越來越高的需求,不同的團(tuán)隊(duì)有不同的選擇,下面給大家分享構(gòu)建websocket服務(wù)時(shí)必須要考慮的一些技術(shù)特性以及能顯著提高用戶體驗(yàn)的功能,感興趣的朋友跟隨小編一起看看吧2020-04-04Git報(bào)錯(cuò)error:pathspec‘XXX‘did not match any&nbs
這篇文章主要介紹了Git報(bào)錯(cuò)error:pathspec‘XXX‘did not match any file(s) known to git問題及解決過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04基于rsync寫腳本實(shí)現(xiàn)多節(jié)點(diǎn)多服務(wù)器文件一鍵同步的方法
這篇文章主要介紹了利用rsync寫腳本實(shí)現(xiàn)多節(jié)點(diǎn)多服務(wù)器文件一鍵同步,本文將介紹?scp?和?rsync?兩個(gè)命令及基本語法介紹,需要的朋友可以參考下2022-01-01深度學(xué)習(xí)開源框架基礎(chǔ)算法之傅立葉變換的概要介紹
今天小編就為大家分享一篇關(guān)于深度學(xué)習(xí)開源框架基礎(chǔ)算法之傅立葉變換的概要介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12