Вопрос
Какие команды Git выполняют следующий рабочий процесс?
сценарий
Я клонировал из репозитория и сделал несколько своих коммитов в свой локальный репозиторий. Тем временем мои коллеги сделали коммиты в удаленный репозиторий. Теперь я хочу:
Проверьте , есть ли какие - либо новые коммиты от других людей на удаленном хранилище, то есть
origin
?Скажем, со времени моего последнего обращения в удаленном репозитории было 3 новых коммита, я хотел бы проверить коммиты удаленного репозитория, то есть
HEAD~3
сHEAD~2
,HEAD~2
сHEAD~1
иHEAD~1
сHEAD
.Узнав, что изменилось удаленно, я хочу получить последние коммиты от других.
Мои выводы пока
На шаге 2: Я знаю каретку обозначения HEAD^
, и HEAD^^
т.д. , и тильды обозначения HEAD~2
, и HEAD~3
т.д.
Для шага 3: то есть, я думаю, просто git pull
.
Ответы:
Вы можете
git fetch origin
обновить удаленную ветку в вашем репозитории, чтобы она указала на последнюю версию. Для сравнения с пультом:Да, вы также можете использовать обозначение каретки.
Если вы хотите принять удаленные изменения:
источник
git diff HEAD origin/master
поэтому в diff показано, что будет применено, если я приму удаленные изменения.Нашел на ответ на Убедитесь, что тянуть нужно в Git
источник
git pull <remote> <branch>
потом, как только мне нужно нажать, потому что конец моей локальной ветви был позади удаленного коллеги.git remote update -v
я получилerror: unknown switch `v'
git remote -v update
неgit remote update -v
Хороший способ получить синтетическое представление о том, что происходит «происхождение»:
источник
Я просто использую
Затем последний сообщает, сколько коммитов за моим локальным. (если есть)
затем
чтобы привести мой местный в курсе :)
источник
Мой обычный вопрос скорее «что-то новое или измененное в репо», так что то, что изменилось, пригодится. Нашел это здесь .
источник
Одно из возможных решений
Благодаря решению Алана Хаггая Алави я получил следующий потенциальный рабочий процесс:
Шаг 1:
Шаг 2:
Шаг 3:
источник
git diff origing/master^ origing/master^^
git status
не всегда показывает разницу между master и origin / master даже после выборки. Если вы хотите, чтобы комбинацияgit fetch origin && git status
работала, вам нужно указать информацию отслеживания между локальной веткой и источником:Для основной ветки:
источник
так как это не было предложено до сих пор ... и я считаю это весьма полезным ...
я просто использую
чтобы извлечь удаленные изменения, а затем я просматриваю как локальные, так и ожидающие удаленные коммиты (и связанные с ними изменения) с помощью симпатичного инструмента gitk ( https://git-scm.com/docs/gitk ) с использованием аргумента --all, например:
источник