利用git克隆歷史版本(下載指定版本的代碼)
git克隆歷史版本(下載指定版本的代碼)
步驟一:首先git clone 當前項目至文件夾
步驟二:cd 進入clone下來的項目文件夾內(nèi)
步驟三:在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倉庫
開發(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
這樣,就完成子目錄的遷移啦,就是有個問題,好慢~
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解git merge 與 git rebase的區(qū)別
這篇文章主要介紹了詳解git merge 與 git rebase的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07Git報錯error:pathspec‘XXX‘did not match any&nbs
這篇文章主要介紹了Git報錯error:pathspec‘XXX‘did not match any file(s) known to git問題及解決過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04基于rsync寫腳本實現(xiàn)多節(jié)點多服務器文件一鍵同步的方法
這篇文章主要介紹了利用rsync寫腳本實現(xiàn)多節(jié)點多服務器文件一鍵同步,本文將介紹?scp?和?rsync?兩個命令及基本語法介紹,需要的朋友可以參考下2022-01-01