[英]How to clone project from local GIT repo to a GIT on another machine in LAN?
[英]How to create clone a git-repo to local LAN
有時,可能需要執行以下命令將 repo 克隆到本地。 回購大約為 100GB。 那么有沒有辦法/如何設置將遠程服務器“examplecode.org”中的存儲庫“克隆”到本地服務器,以便它不需要遠程獲取代碼庫?
最初,要執行的命令是:
$repo init -u git://examplecode.org/platform/manifest.git -b release -m ${MyTag} --repo-url=git://examplecode.org/tools/repo.git --repo-branch=my-branch-stable
$repo sync -f -j${CPUS}
讓我們 192.168.1.100 作為本地網絡中的服務器,理想情況下,設置后,命令將如下所示:
$repo init -u git://192.168.1.100/platform/manifest.git -b release -m ${MyTag} --repo-url=git://192.168.1.100/tools/repo.git --repo-branch=my-branch-stable
$repo sync -f -j${CPUS}
repo
意味着git-repo
非常感謝
你的回購是 100 GB? 如果這不是打字錯誤,您可能會考慮減少該大小的方法。
一個好的開始方法可能是尋找將現有代碼(可能還有很多非代碼……)拆分到多個存儲庫中的邏輯方法。 代碼庫是否足夠模塊化,以便您可以將不同的模塊移動到它們自己的存儲庫中?
說到非代碼,repo 中是否保存了很多大型二進制文件? 也許這些可以從版本控制系統中取出並移到其他地方,例如 LAN 驅動器或共享點站點。 二進制文件失去了版本控制的許多好處,它們最終只會占用大量空間。
最后,您可能想要運行git-gc
來清理/優化存儲庫。 如果您自托管一個集中式“主”服務器(而不是使用 Github 或類似的東西),則尤其如此,因為這可能不會定期自動發生。
編輯:
我意識到這並不能直接回答上述問題。 但似乎 OP 可能還有其他一些領域需要探索,這將使尋求的解決方案不那么緊迫。
編輯2 :
根據評論,對於git
作用與repo
( git
的 Android 包裝器)在git
之上為您提供的內容,聽起來有些混淆。 首先,也是最重要的,您可以在repo
和git
命令之間自由切換。 使用其中一種並不妨礙您使用另一種。 repo
腳本只是一個包裝器,它簡化了一些在為 Android 開發時常見的操作,但使用git
手動執行這些操作很麻煩。 除了這些操作之外,大部分存儲庫操作可能會使用標准的git
命令來完成。
關於原始問題,您所描述的是git clone
命令:
姓名
git-clone - 將存儲庫克隆到新目錄中概要
git clone [--template=<template_directory>] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>] [--dissociate] [--separate-git-dir <git dir>] [--depth <depth>] [--[no-]single-branch] [--no-tags] [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules] [--jobs <n>] [--] <repository> [<directory>]
描述
將存儲庫克隆到新創建的目錄中,為克隆存儲庫中的每個分支創建遠程跟蹤分支(使用git branch -r
可見),並創建並檢出從克隆存儲庫當前活動分支分叉的初始分支。克隆之后,不帶參數的普通
git fetch
將更新所有遠程跟蹤分支,而不帶參數的git pull
還會將遠程 master 分支合並到當前的 master 分支中 [...]
由於您特別提到希望在本地網絡上擁有代碼庫,您將首先克隆存儲庫,然后拉取所有分支:
git clone [remote URL]
git pull --all
完成后,您可以使用任何repo
和常規git
命令來管理存儲庫的本地副本。
找到了2種方法:
使用repo
的--mirror
選項創建本地鏡像,然后使用--reference
通過引用鏡像來結帳
使用grokmirror
,請參考https://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git/tree/README.rst
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.