簡體   English   中英

使用版本歷史記錄導出git

[英]Export git with version history

我需要導出一個git存儲庫內容並將其導入目標存儲庫。 我知道有兩種方法可以做到,但它們並沒有解決我的問題

a)將源存儲庫添加為遠程存儲庫並對目標進行合並。 我不能使用它,因為兩個存儲庫不在同一個網絡上

b)使用git archive並將內容復制到目標。 在這個git存檔中,修訂信息會丟失。

我需要一些存檔和版本歷史記錄,並使我能夠合並到目標中。 如何才能做到這一點?

為此目的提供了git bundle

例:

  1. 整個捆綁您的源存儲庫

    git bundle create my_repo.bundle --all

  2. 把``my_repo.bundle''帶到目標所在的位置

  3. 從目標中,加載源提交對象

    git bundle unbundle my_repo.bundle

    ...從那時起,您可以將您想要的源提交合並/轉換/櫻桃選擇到您的目標存儲庫中,以獲取您的內容。

    否則,拉動工作原理相同:

    git pull my_repo.bundle

與克隆相比,捆綁更容易傳輸,因為它們較小,因為您的文件未在簽出狀態下傳輸。

使用bundle的其他原因:

  • 與使用clone --bare (不檢查文件)不同,捆綁包是作為單個文件創建和打包的,因此您不需要額外的壓縮/壓縮包。

  • 你也可以簡單地tar你的源存儲庫(或只是.git目錄),但你將承載在.git /下構建的所有多余的緩存和垃圾。

Git將存儲庫克隆到USB記憶棒,筆記本電腦或其他一些數據傳輸介質上。 把它連接到另一台機器,添加媒體作為遠程,並從那里拉/合並更改...

來自存儲庫的任何克隆實際上都包含所有歷史記錄,因此問題是如何將克隆到另一台計算機。

另見: 這個問題

您想要創建當前存儲庫的分支。 如果我做對了,請告訴我:您希望克隆一個特定的git存儲庫。 處理克隆,然后將更改合並到原始存儲庫中?

這是我創建存儲庫的一個分支,然后從原始源中提取更改以進行提交更改。

您只需壓縮完整的存儲庫文件夾,然后將其復制到目標工作站(通過USB棒等),並將該本地存儲庫添加為遠程存儲庫。 然后你可以獲取和合並。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM