Выполните это от ответвления, где Вы хотите, чтобы файл закончился:
git checkout otherbranch myfile.txt
Общие формулы:
git checkout <commit_hash> <relative_path_to_file_or_dir>
git checkout <remote_name>/<branch_name> <file_or_dir>
Некоторые примечания (из комментариев):
myfile.txt
и mydir
альтернатива:
git show commit_id:path/to/file > path/to/file
Вам нужна команда git ls-remote
, которая позволяет вам получить некоторую информацию об удаленных репозиториях, но вы не можете показать историю или список каталогов или что-либо еще на этом уровне: по сути, он позволяет вам видеть удаленные объекты только на очень высоком уровне (например, вы можете видеть текущие заголовки и теги).
Единственный реальный способ сделать то, что вы хотите (если я правильно понимаю), - это использовать ssh, чтобы запустить удаленную команду и вернуть результаты, например:
ssh me@otherhost "cd repo && git log -n 10"
То, что вы хотите, было бы прекрасной функциональностью, если бы они могли ее добавить, но, судя по тому, что я читал, это не очень просто, так как для получения истории и т. д. требуется много информации. local в git, и в этот момент вы могли также выполнить git fetch.
Git - это распределенная система контроля версий, а Subversion - это централизованная (клиент-серверная) система контроля версий. Они работают по-разному; привыкнуть к этому. Прочтите мой ответ, объясняющий последствия этой разницы, на git, эквивалент вопроса svn status -u
в StackOverflow.
Немного повторюсь: в централизованной системе контроля версий (например, CVS или Subversion) почти все команды обрабатываются на сервере и связаны с сетью. Локально выполняется очень мало команд. Обратите внимание, что для обеспечения хорошей производительности «svn status» и «svn diff» Subversion сохраняет «чистую копию» извлеченной версии на клиенте, чтобы не задействовать передачу по сети для этих общих операций (это означает, что проверка Subversion = как минимум 2-кратный размер рабочего каталога).
В распределенной системе контроля версий (например, Git, Mercurial или Bazaar), где у вас есть локальная копия (клонирование) всего репозитория, почти все команды выполняются на клиенте . Очень немногие команды требуют сетевого подключения к другому репозиторию (к серверу).
Количество команд, которые вы можете выполнить на сервере, ограничено.
В распределенной системе контроля версий (например, Git, Mercurial или Bazaar), где у вас есть локальная копия (клон) всего репозитория, почти все команды выполняются на клиенте . Очень немногие команды требуют сетевого подключения к другому репозиторию (к серверу).
Количество команд, которые вы можете выполнить на сервере, ограничено.
В распределенной системе контроля версий (например, Git, Mercurial или Bazaar), где у вас есть локальная копия (клон) всего репозитория, почти все команды выполняются на клиенте . Очень немногие команды требуют сетевого подключения к другому репозиторию (к серверу).
Количество команд, которые вы можете выполнить на сервере, ограничено.