我公司的一些人使用Repo来管理多个存储库。我需要阅读(而不是更改/提交)其中的一些内容。
我希望避免安装 Repo,而只使用 Git。以下是获取我关心的存储库的说明:
repo init -u git://git-master/x/manifest.git -b dev/foo-bar -m bar.xml
repo sync
我如何使用 vanilla Git 来同步这些相同的信息?
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
你应该有这样的东西(检查清单格式):
<?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.revision
和manifest.project.revision
以确保您已获取好的分支。
不过,作为repo
一个脚本,您可以轻松地将其安装在您的主目录中,如下所示:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo