4

我公司的一些人使用Repo来管理多个存储库。我需要阅读(而不是更改/提交)其中的一些内容。

我希望避免安装 Repo,而只使用 Git。以下是获取我关心的存储库的说明:

repo init -u git://git-master/x/manifest.git -b dev/foo-bar -m bar.xml
repo sync

我如何使用 vanilla Git 来同步这些相同的信息?

4

1 回答 1

3

git-repo使用一个名为manifest.xml列出项目的所有 git 存储库的文件。

git仅使用访问存储库,您只需获取manifest.xml、读取存储库 URL 并克隆它。


第一:获取清单

$ git clone -b dev/foo-bar git://git-master/x/manifest.git
$ vi manifest/bar.xml

二:读取存储库 URL

你应该有这样的东西(检查清单格式):

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="origin" fetch="git://git-master/x" />

  <default revision="master" remote="origin" />

  <project name="my/first/project" />
  <project name="my/second/project" />

</manifest>

搜索您要克隆的存储库(例如my/second/project),从manifest.remote.fetch属性中构建克隆 URL。在这里,我们有:

clone URL = git://git-master/x/my/second/project

注意:manifest.remote.fetch可以是绝对或相对 URL。如果是相对的,则必须在前面添加清单 URL。


第三:克隆存储库

git clone git://git-master/x/my/second/project

注意:您可以检查manifest.default.revisionmanifest.project.revision以确保您已获取好的分支。


不过,作为repo一个脚本,您可以轻松地将其安装在您的主目录中,如下所示:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
于 2014-06-24T13:07:42.037 回答