Git: Как проверить актуальность локального репо? - PullRequest
41 голосов
/ 29 октября 2011

Я хотел бы знать, обновлен ли мой локальный репозиторий (а если нет, то в идеале я хотел бы увидеть изменения).1004 *?

Ответы [ 9 ]

61 голосов
/ 29 октября 2011

Попробуйте git fetch --dry-run В руководстве (git help fetch) написано:

--dry-run
Show what would be done, without making any changes.
12 голосов
/ 30 марта 2017
git remote show origin

Результат:

HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date) <-------
8 голосов
/ 24 марта 2014

вы можете использовать git status -uno, чтобы проверить, соответствует ли ваш местный филиал первому.

5 голосов
/ 29 октября 2011

Не совсем - но я не понимаю, как git fetch повредит, поскольку это не изменит ни один из ваших местных филиалов.

3 голосов
/ 27 июля 2015

Вам нужно будет выполнить две команды:

  1. git fetch origin
  2. git status
2 голосов
/ 11 ноября 2014

Другой альтернативой является просмотр состояния удаленной ветви с помощью git show-branch remote/branch, чтобы использовать его в качестве сравнения. Вы можете увидеть git show-branch *branch, чтобы увидеть ветку на всех удаленных устройствах, а также в вашем хранилище!проверить этот ответ для более https://stackoverflow.com/a/3278427/2711378

2 голосов
/ 29 октября 2011

Вы должны запустить git fetch, прежде чем сможете сравнить свой локальный репозиторий с файлами на удаленном сервере.

Эта команда обновляет только ваши удаленные ветви отслеживания и не повлияет на ваше рабочее дерево, пока вы не наберете git merge или git pull.

Чтобы увидеть разницу между вашей локальной веткой и вашей удаленной веткой отслеживания после того, как вы загрузили, вы можете использовать git diff или git cherry, как описано здесь.

2 голосов
/ 29 октября 2011

Это невозможно. Как узнать, является ли хранилище «актуальным», не заходя в удаленный репозиторий, чтобы узнать, что вообще означает «актуально»?

0 голосов
/ 13 сентября 2018

Сначала используйте git remote update, чтобы обновить ваши удаленные ссылки.Затем вы можете сделать одно из нескольких действий, например:

  1. git status -uno сообщит вам, находится ли отслеживаемая вами ветка впереди, позади или отклонилась.Если он ничего не говорит, локальный и удаленный совпадают.
  2. git show-branch *master покажет вам фиксации во всех ветвях, имена которых заканчиваются на «master» (например, master и origin / master).*

Если вы используете -v с удаленным обновлением git (git remote -v update), вы можете увидеть, какие ветви были обновлены, поэтому вам больше не нужны никакие дополнительные команды.

...