[英]Export git with version history
我需要導出一個git存儲庫內容並將其導入目標存儲庫。 我知道有兩種方法可以做到,但它們並沒有解決我的問題
a)將源存儲庫添加為遠程存儲庫並對目標進行合並。 我不能使用它,因為兩個存儲庫不在同一個網絡上
b)使用git archive並將內容復制到目標。 在這個git存檔中,修訂信息會丟失。
我需要一些存檔和版本歷史記錄,並使我能夠合並到目標中。 如何才能做到這一點?
為此目的提供了git bundle
。
例:
整個捆綁您的源存儲庫
git bundle create my_repo.bundle --all
把``my_repo.bundle''帶到目標所在的位置
從目標中,加載源提交對象
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.