我公司的一些人使用 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 并克隆它。
第一:获取 list
$ git clone -b dev/foo-bar git://git-master/x/manifest.git
$ vi manifest/bar.xml
第二:读取存储库 URL
你应该有这样的东西(检查 manifest format ):
<?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。如果是亲戚,则必须在之前添加 list 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
关于git - 使用 Git 从 "Repo"存储库同步一个项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22205846/