Я пытаюсь получить доступ к истории фиксации ветки в удаленном репозитории. Я просмотрел документ, но не смог найти существенную информацию о том, как получить доступ к истории удаленных репо, используя мой локальный клиент git.
История фиксации в удаленном репозитории
Ответ 1
git log remotename/branchname
Будет отображать журнал данной удаленной ветки в этом репозитории, но только журналы, которые вы "извлекли" из своего репозитория в вашу личную "копию" удаленного репозитория.
Помните, что ваш клон репозитория будет обновлять состояние любых удаленных веток только с помощью git fetch
. Вы не можете напрямую подключиться к серверу, чтобы проверить журнал там, что вы делаете, это загрузить состояние сервера с помощью git fetch
, а затем локально просмотреть журнал удаленных ветвей.
Возможно, еще одна полезная команда:
git log HEAD..remote/branch
который покажет вам коммиты, которые находятся в удаленной ветке, но не в вашей текущей ветке (HEAD
).
Ответ 2
NB. "origin" ниже используется для представления восходящего потока клонированного репозитория, замените "origin" описательным именем для удаленного репозитория. "Удаленная ссылка" может использовать тот же формат, что и в команде клонирования.
git remote add origin <remote reference>
git fetch
git log origin/master
Ответ 3
Вы можете просматривать журнал только в локальном репозитории, однако это может включать выбранные ветки всех настроенных вами пультов.
Итак, если вы клонируете репо...
git clone [email protected]:folder/repo.git
По умолчанию будет origin/master
.
Вы можете добавить пульт к этому репо, кроме origin
добавить add production
. Внутри локальной папки клонирования:
git remote add production [email protected]:folder/repo.git
Если мы хотим увидеть журнал production
, нам нужно будет:
git fetch --all
Это выбор из всех пультов (выбор по умолчанию без --all
будет извлекаться только с origin
)
После извлечения мы можем посмотреть журнал на пульте production
, вам также нужно указать ветвь.
git log production/master
Все параметры будут работать так же, как и при входе в локальные ветки.
Ответ 4
Я не считаю, что это возможно. Я считаю, что вы должны клонировать это удаленное репо локально и выполнять git fetch
на нем, прежде чем вы можете выдать ему git log
.
Ответ 5
Быстрый способ сделать это - клонировать, используя ключевое слово --bare
, а затем проверить журнал:
git clone --bare [email protected] tmpdir
cd tmpdir
git log branch
Ответ 6
Вот что сработало для меня:
git fetch --all
git log production/master
Обратите внимание, что это извлекается из ВСЕХ удаленных устройств, то есть потенциально вы "должны клонировать объекты объемом 2 ГБ только для просмотра журналов фиксации".
Ответ 7
Вы можете легко получить журнал удаленного сервера. Вот как:
(1) Если вы используете git через ssh - тогда просто войдите на удаленный сервер, используя свой логин и пароль git, и chdir удаленной папки, в которой находится ваш репозиторий, и запустите журнал git команды внутри вашего репозитория на удаленном сервере.
(2) Если вы используете git через стандартный протокол входа в систему Unix, а затем просто подключитесь к удаленному серверу и запишите там git.
Надеюсь, что это поможет.