圖解代碼托管平臺git倉庫遷移保留歷史日志記錄!
你知道的越多,不知道的就越多,業(yè)余的像一棵小草!
你來,我們一起精進!你不來,我和你的競爭對手一起精進!
編輯:業(yè)余草
liuchenyang0515.blog.csdn.net
推薦:https://www.xttblog.com/?p=5353
如何把其他代碼托管平臺git倉庫遷移到github還保留歷史日志記錄?圖解步驟,值得收藏!
git倉庫遷移保留歷史記錄?
我在其他的代碼托管平臺(不是github)有一套代碼,不同代碼托管平臺之間沒有相互遷移的功能,怎么將倉庫代碼提交到github倉庫呢?
直接從代碼托管平臺下載再上傳github嗎?
這樣會丟掉每一次提交記錄,相當于歷史提交的日志全沒了,這也太糟糕了。
「接下來,我會講解方法。這適合于所有不同平臺Git倉庫之間的搬運。所以就不要老是抱怨著為什么沒有外部倉庫遷移過來的功能了。」
一、在不同代碼托管平臺遷移自己的倉庫
這里以其他托管平臺代碼遷移到github為例。
「第一步」
github上新建一個repository


「第二步」
為了本地倉庫和遠程倉庫建立連接,把我選中的這一行在命令行執(zhí)行
git remote add origin [email protected]:liuchenyang0515/MyWiki.git

結(jié)果發(fā)現(xiàn)remote origin已經(jīng)存在,廢話,本來就是在別的托管倉庫的,origin當然存在了。你可以用git remote -v看看遠程倉庫關(guān)聯(lián)的信息。
「第三步」
??
刪除原來關(guān)聯(lián)的origin的遠程庫,與現(xiàn)在新的github遠程倉庫建立關(guān)聯(lián)。執(zhí)行如下
git remote rm origin
git remote add origin [email protected]:liuchenyang0515/MyWiki.git
這樣就刪除了原來的遠程倉庫關(guān)聯(lián)信息,與github遠程倉庫建立了新關(guān)聯(lián),就可以隨意修改代碼推送到github了。
二、在不同代碼托管平臺遷移別人的倉庫
道理其實是一樣的,就是把別人的倉庫先Fork一份到自己的倉庫。然后將自己的倉庫在不同平臺之間搬運。這個步驟和第一節(jié)一樣。
更有甚者,還有小伙伴和我一樣有這個奇葩需求。有這個需求,小伙子你一定是個愛學習的人吶哈哈哈~
需求:我有一套課程代碼在某托管倉庫(不是github),并且只有一個master分支,但是有幾百次提交記錄,我想從第5次提交記錄的代碼處開始,中間修改過一些代碼,到現(xiàn)在為止,想把這部分提交到我自己的github倉庫。這個怎么實現(xiàn)呢?
?我們把這個問題分為兩個步驟
?
我要把之前提交的幾百次記錄恢復到第 5次提交處。我要把這個托管平臺的代碼遷移到 github。
「第一個步驟」
首先Fork一份老師的代碼到自己的倉庫,然后將Fork后的倉庫克隆到本地。接著我是利用source tree,選擇指定歷史日志處的提交記錄,點擊"分支"。

輸入新分支的名字,然后點擊確定。

然后新分支出現(xiàn)了,第5節(jié)的歷史記錄的日志被加粗,說明你已經(jīng)到這一步的記錄里來了,現(xiàn)在可以整個項目的第5節(jié)開始跟著視頻一起敲代碼學習了。

然后敲了代碼后后提交。

根據(jù)圖譜,你可以看到,我提交的已經(jīng)是另一條分支線了,這樣我就從第5次提交開始的記錄進行修改學習了。
不過別忘了,你現(xiàn)在還不是在github倉庫提交的,所以你得把代碼遷移到github平臺。
