Как лучше всего просматривать файлы обновленного репозитория git bare? (концепция ls-дерева)

Я ищу способ увидеть файлы в репозитории Git голые, которые были обновлены другим удаленным, но без тянуть в моем хранилище.

Я попытаюсь описать мои сомнения, используя пример на местном уровне.

Я создаю папку, добавляю два файла и создаю новый репозиторий.

> mkdir stackOF && cd stackOF
> touch file1 file2
> git init

Затем я создаю пустой репозиторий из этого репо.

> cd .. && git clone --bare stackOF stackOF.git

Теперь я хочу создать два клона этого голого репо и смоделировать некоторые действия слишком коллег.

> git clone stackOF.git stackOF.clone1
> git clone stackOF.git stackOF.clone2

Первый, clone1 создаст файл, зафиксирует и отправит изменения.

> cd stackOF.clone1 && touch file_clone1
> git add . && git commit -m "File from clone 1."
> git push

Во-вторых, clone2 создаст файл и только зафиксирует.

> cd ../stackOF.clone2 && touch file_clone2
> git add . && git commit -m "File from clone 2."

В этот момент начинаются мои сомнения по поводу ls-tree концепция. При выполнении следующей команды я ожидаю увидеть файл, выдвинутый clone1, но я получаю следующее:

> git ls-tree origin
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5392    file1
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5392    file2

Я хочу получить результат, подобный выполнению команды ls-tree в каталоге с пустым хранилищем:

> cd ../stackOF.git
> git ls-tree master
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5392    file1
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5392    file2
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5392    file_clone1

Изучая этот случай, я нашел команду, которая показывает мне, что я хочу, но с множеством других сведений. Итак, возвращаясь к clone2 и выполнение команды:

> cd ../stackOF.clone2
> git archive -v --remote=file:///f/gits/stackOF.git master
pax_global_header00006660000000000000000000000064133246307500014515gustar00rootroot0000000000000052 comment=0085439d6a07481e6a21db545edd3f7960c038e2
file1000066400000000000000000000000001332463075000117720ustar00rootroot00000000000000file2000066400000000000000000000000001332463075000117730ustar00rootroot00000000000000file_clone1000066400000000000000000000000001332463075000131520ustar00rootroot00000000000000remote: file1
remote: file2
remote: file_clone1

Подводя итог, я нахожусь на clone2 хранилище и поиск, какие файлы находятся на голом хранилище, не тяните. Но я хочу что-то очень чистое, как использование ls_tree на голом хранилище.

0 ответов

Другие вопросы по тегам