Невозможно выполнить то, что вы просили, используя только протоколы Git.
В зависимости от того, как размещен репозиторий, вы можете получить некоторую информацию через веб-интерфейс . gitweb распространяется с Git, и крупные хостинговые службы часто имеют свои собственные веб-интерфейсы.
- пример gitweb: git.git при просмотре коммит с тегом 1.7.3.2
- top links
- «log» или «shortlog» показывает историю, ведущую к фиксации
- «commitdiff» для доступа к diff-файлам против родителя (ей)
- сокращенное имя объекта слияния / родителя (шестнадцатеричная строка) перемещается к этому родителю
- ссылки на родителя
- ссылка "diff" показывает разницу с этим родителем
- ссылка «коммит» перемещается к этому родительскому элементу
- ссылка «дерево» показывает файлы, захваченные при фиксации
- ссылки на файл
- «diff» («diffN» для слияний) показывает разность только этого файла
- «blob» показывает содержимое файла
- «history» показывает коммиты, ведущие ктекущий коммит, который изменяет этот файл
- Пример GitHub: git.git просматривает коммит с тегом 1.7.3.2
- На вкладке «Commits» отображается история
- «commit» / «parent» сокращенноимя объекта (шестнадцатеричная строка) приводит вас к коммиту;он показывает
- файлы, которые были изменены для этого коммита
- зеленые и красные квадраты справа показывают количество строк, добавленных / удаленных в каждом файле
- Различия для коммита
- «Просмотр файла» показывает весь файл, как он был захвачен в этом коммите
- «сырой» просмотр / загрузка файла
- «вина”Показывает самый последний коммит для изменения каждой строки этого файла
- « история »показывает коммиты, ведущие к текущему коммиту, который изменил этот файл
Если вы собираетесь делать какие-либо значительные исследования в истории, вероятно, будет клонировать репозиторий (искорее всего, это будет only , если у хостинг-сервиса нет какого-либо веб-интерфейса).Вам придется использовать некоторое дисковое пространство, но ваше исследование не будет ограничиваться веб-интерфейсом, и это будет намного быстрее.
Еще одна возможность - git archive ;это необязательный сервер, поэтому он не может быть включен для сервера, на котором размещен ваш репозиторий.Это позволяет загружать архивы (например, файлы tar или zip) отдельных деревьев.Технически, вы могли бы извлечь такие архивы и вручную отразить их, чтобы получить нужную вам информацию, но это, вероятно, было бы более громоздким и менее эффективным, чем простое клонирование хранилища и использование обычных инструментов (например, git log
с --stat
или --numstat
с или без -m
/ -c
/ --cc
).