git使用之(五)合併兩個不相關的Git倉庫

2021-09-19 04:27:53 字數 1200 閱讀 2457

大致是這樣的場景:有兩個倉庫,乙個git倉庫,乙個svn倉庫,都是非空的。現在要把svn倉庫中的內容合入git倉庫中,並保留提交記錄。聽起來有點奇怪,不過現實中的問題總是千奇百怪加**。既然遇到了,總得想辦法解決。花了將近1個小時,簡單總結一下。

按照問題的描述,問題可以演變成兩部分:

合併兩個git倉庫。

簡單起見,筆者以test1、test2為例,講解演示將test2倉庫合併到test1中。

要想將test2合入test1中,那麼可以將test2偽造成test1倉庫的乙個分支,然後合併到test1倉庫中(的指定分支,本文為master)

1. clone兩個倉庫,放入同乙個目錄中,例如:

workspace

|-test1

|-test2

2. 將test2移入test1目錄中,此時目錄結構變為如下:

workspace

|-test1

|-test2

3. 將目錄切換至test1

cd test1
4. 執行以下命令,將test2作為遠端倉庫,新增到test1中,並設定別名為test2

git remote add test2 ./test2

git fetch test2

git checkout -b test2 test2/master
7. 切換回test1倉庫的master分支

git checkout master
8. 將test2倉庫的master分支合入test1倉庫的master分支。如不新增allow-unrelated-histories 引數,可能會報fatal: refusing to merge unrelated histories 的異常。

git merge test2 --allow-unrelated-histories
9. push到test1倉庫

git push

union all關聯兩個不相關的表,按時間排序

表uc diary與uc photo是兩個完全不相關的表,用union all可以將這裡個表的資料關聯到一起,使用時間排序,常用於新鮮事的顯示,講日誌,相簿,說說等動態放到一起,安裝時間排序 select diary id as id,diary title astitle,diary text a...

使用sql合併兩個相關表

好長時間沒用sql了很多東西都忘掉了,昨天用到了,好不容易才想找到,人比較笨,今天記下來省得再忘記!typeid typename 1體育新聞 2軍事新聞 3國際新聞 article表 用來存放文章 title typeid content hits aaa1 aaaa 12bbb 2bbbb 11...

git 如何合併兩個不同的倉庫

由於git開放了私有庫,部分人希望將自己york from公有庫的開發私有化 那麼關鍵問題是如何合併兩個不同倉庫的更新?如何合併兩個不同的git倉庫 假設現在有兩個repo repo1,repo2,現在想把repo2中的更新合併到repo1中,設repo2的url為。命令如下 cd repo1 gi...