1. 程式人生 > >【轉載】git倉庫完整遷移並不丟失完整的log

【轉載】git倉庫完整遷移並不丟失完整的log

Git倉庫遷移而不丟失log的方法

  • 要求能保留原先的commit記錄,應該如何遷移呢?
  • 同時,本地已經clone了原倉庫,要配置成新的倉庫地址,該如何修改呢?
  • 注意:如果使用了程式碼稽核工具Gerrit,那麼在進行操作之前需要將Gerrit關掉,等成功恢復後再將Gerrit開戶即可

1、使用git push --mirror

先了解一些git的基本引數介紹
git clone --bare

GIT-CLONE(1)                      Git Manual                      GIT-CLONE(1)

NAME
       git-clone - Clone a repository into a new
directory SYNOPSIS git clone [--template=<template_directory>] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>] [--depth <depth>] [--recursive] [--] <repository> [<directory>]
--bare Make a bare GIT repository. That is, instead of creating <directory> and placing the administrative files in <directory>/.git, make the <directory> itself the $GIT_DIR. This obviously implies the -n because there is nowhere to check out the working tree. Also the branch heads at the remote are copied directly to
corresponding local branch heads, without mapping them to refs/remotes/origin/. When this option is used, neither remote-tracking branches nor the related configuration variables are created.

git push --mirror

--mirror
           Instead of naming each ref to push, specifies that all refs under refs/ (which includes but is not limited
           to refs/heads/, refs/remotes/, and refs/tags/) be mirrored to the remote repository. Newly created local
           refs will be pushed to the remote end, locally updated refs will be force updated on the remote end, and
           deleted refs will be removed from the remote end. This is the default if the configuration option
           remote.<remote>.mirror is set.

1、建立新倉庫

  • 1). 從原地址克隆一份裸版本庫,比如原本託管於 GitHub,或者是本地的私有倉庫
git clone --bare git://192.168.10.XX/git_repo/project_name.git
  • 2). 然後到新的 Git 伺服器上建立一個新專案,比如 GitCafe,亦或是本地的私有倉庫,如192.168.20.XX
su - git
cd /path/to/path/
mkdir new_project_name.git
git init --bare new_project_name.git
  • 3). 以映象推送的方式上傳程式碼到 GitCafe 伺服器上。
    請確保已經添加了公鑰到新的機器上
cd project_name.git
git push --mirror [email protected]192.168.20.XX/path/to/path/new_project_name.git
  • 4). 刪除原生代碼
cd ..
rm -rf project_name.git
  • 5). 到新伺服器上找到 Clone 地址,直接Clone到本地就可以了。
git clone [email protected]192.168.20.XX/path/to/path/new_project_name.git

這種方式可以保留原版本庫中的所有內容。

2、切換remote_url

先檢視remote的名字

git branch -r

假設你的remote是origin,用git remote set_url 更換地址

git remote set-url origin remote_git_address

remote_git_address更換成你的新的倉庫地址。

第二種切換remote_url的方法更直接,直接更改.git/conf配置檔案裡的ip地址就行。

相關推薦

轉載git倉庫完整遷移並不丟失完整log

Git倉庫遷移而不丟失log的方法要求能保留原先的commit記錄,應該如何遷移呢?同時,本地已經clone了原倉庫,要配置成新的倉庫地址,該如何修改呢?注意:如果使用了程式碼稽核工具Gerrit,那麼在進行操作之前需要將Gerrit關掉,等成功恢復後再將Gerrit開戶即可1、使用git push --mi

轉載Git 的安裝及使用的教程

Git 的安裝及使用的教程 ​​​​ 最好不要在官網下載,官網下載要vpn而且速度還很慢 。推薦在 https://github.com/waylau/git-for-win 上下載。這個專案與官網的git釋出是實時更新的,可以不用擔心下載不到最新的版本。 git的下載安裝 我選擇的

Git上傳本地項目轉載

origin hub nsh blog ready tor bing lan 添加 詳細教程: http://www.cnblogs.com/specter45/p/github.html Git 提示fatal: remote origin already ex

轉載使用阿裏雲code和git管理項目

雲端 keyword strong 傳輸 windows ring fsharp string 訪問 使用代碼雲托管和git來管理項目可以使多客戶端和多人開發更加高效。通過對比github,bitbucket和國內一些雲托管服

git修改文件後,提交到遠程倉庫

log csdn 文件 遠程 ase git add 提交 gin mon 原文地址:https://blog.csdn.net/nly19900820/article/details/73613654 修改文件後,怎麽提交到遠程倉庫1.git status 查看git是否

GitlabGIT回滾master分支到指定tag版本 並提交遠程倉庫

git master 回滾【Gitlab】GIT回滾master分支到指定tag版本 並提交遠程倉庫1 查看分支git branch 2 切換到master分支git checkout master 3 查看標簽git tagv1.3.3v1.3.4v1.3.5 4 查看某個標簽的詳情git show v1.

轉載 Idea-Maven的配置使用及預設倉庫修改

轉載出處-https://www.cnblogs.com/Silencepeng/p/7444012.html 保留參考使用,如果侵權請告知刪除 一、下載maven的包 http://www.apache.org/ 1.在網頁中開啟上面的網址,進入下面的頁面 2.拖動滾動條

遠端倉庫git 常用命令與原理

我每天使用 Git ,但是很多命令記不住。 一般來說,日常使用只要記住下圖6個命令,就可以了。但是熟練使用,恐怕要記住60~100個命令。 下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下。 Workspace:工作區 Index / Sta

轉載aliyun阿里雲Maven倉庫地址——加速你的maven構建

【轉載】aliyun阿里雲Maven倉庫地址——加速你的maven構建 原文地址:http://www.cnblogs.com/geektown/p/5705405.html  maven倉庫用過的人都知道,國內有多麼的悲催。還好有比較好用的映象可以使用,儘快記錄下來。速度提

toolgit gui本地倉庫操作

本篇文章將介紹git gui 本地倉庫的操作,方便大家在本地進行程式碼的檢視,對於多個版本的程式碼再也不用儲存多個包了。 ============================================================================

190111VC++ 倉庫管理系統的完整的畢業設計原始碼

原始碼下載簡介 VC++ 倉庫管理系統的完整的畢業設計,包括資料、論文、開發報告以及各項功能介紹……等等。 基本資訊管理 客戶資訊管理 倉庫資訊管理 使用者資訊管理 修改使用者密碼 退出系統 產品資訊管理

GitLabgit一個專案託管到兩個遠端倉庫

需求 之前一直採用的第三方的程式碼託管平臺,最近公司內部採購了一臺伺服器,來做公司內部的程式碼倉庫,所以需要將之前的程式碼新增到新的倉庫中。 實現 連線區域網的GitLab 設定本地的hosts檔案 192.168.*.** **.***

資料倉庫和資料集市的區別轉載

看了很多資料倉庫方面的資料,都涉及到了“資料集市”這一說法,剛開始對資料倉庫和資料集市的區別也理解得比較膚淺,現在做個深入的歸納和總結,主要從如下幾個方面進行闡述: (1) 基本概念 (2) 為什麼提出資料集市 (3) 資料倉庫設計方法論 (4) 資料集市和資料倉庫的區別 (5) 倉庫建模與集市建模 (6)

轉載使用jsp實現檔案上傳到伺服器或者從伺服器上下載檔案到本地計算機完整說明版

很多同學在使用jsp實現檔案上傳到伺服器或者從伺服器上下載檔案到本地計算機這方面不是很瞭解,今天在這裡我會幫助大家慢慢的實現這一功能。 準備工作: 1.到網上下載兩個包 第一個叫做commons-fileupload-1.2.1.jar 第二個叫做commons-io-1.3.2.jar 2.建一個專案用來實

轉載TCP協議狀態簡介

正在 如果 接下來 告訴 ket 正常 主動 基本上 一個 1、建立連接協議(三次握手)(1)客戶端發送一個帶SYN標誌的TCP報文到服務器。這是三次握手過程中的報文1。(2) 服務器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ACK標誌和SYN標誌。因此它表

轉載64位Win7下成功安裝64位的Oracle、32位的InstantClient和PLSQL Developer

註銷 五步 ldb 需要 windows inf 目錄 登錄 class 感謝原作者,原文鏈接:https://wenku.baidu.com/view/433d0b544a7302768f993926.html 經實際安裝操作,通過以下步驟能夠成功地把Oracle安裝到

轉載MapReduce編程(一) Intellij Idea配置MapReduce編程環境

.net class 上傳 -c word 指定 otl 輸出信息 resource 目錄(?)[-] 一軟件環境 二創建maven工程 三添加maven依賴 四配置log4j 五啟動Hadoop 六運行WordCount從本地讀取文件 七運行Word

轉載Hadoop 2.7.3 和Hbase 1.2.4安裝教程

啟動 運行 property new rop net 文本文 .tar.gz cor 轉載地址:http://blog.csdn.net/napoay/article/details/54136398 目錄(?)[+] 一、機器環境

組播IP轉換為組播MAC地址轉載

映射關系 映射 過程 clas 網段 使用 3層 ans spa 鏈接:https://www.zhihu.com/question/36730567/answer/83083851來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。 組播IP轉換

轉載 Spark性能優化指南——基礎篇

否則 內存占用 是否 進行 優先 邏輯 我們 流式 字節數組 前言 開發調優 調優概述 原則一:避免創建重復的RDD 原則二:盡可能復用同一個RDD 原則三:對多次使用的RDD進行持久化 原則四:盡量避免使用shuffle類算子 原則五:使用map-side預聚