Используйте Git для синхронизации одного проекта из репозитория "Репо"

Некоторые люди в моей компании используют Repo для управления несколькими репозиториями. Мне нужно прочитать (не изменять / фиксировать) часть этого содержимого.

Я надеюсь избежать установки Repo и просто использовать Git. Вот инструкции для получения репозитория, который мне нужен:

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

Как я могу использовать vanilla Git для синхронизации этой же информации?

1 ответ

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), создайте URL клона из manifest.remote.fetch имущество. Здесь мы имеем:

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
Другие вопросы по тегам