簡體   English   中英

如何將 git-repo 克隆到本地 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作用與repogit的 Android 包裝器)在git之上為您提供的內容,聽起來有些混淆。 首先,也是最重要的,您可以在repogit命令之間自由切換 使用其中一種並不妨礙您使用另一種。 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種方法:

  1. 使用repo--mirror選項創建本地鏡像,然后使用--reference通過引用鏡像來結帳

  2. 使用grokmirror ,請參考https://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git/tree/README.rst

暫無
暫無

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

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