Git: как проверить, обновлено ли локальное РЕПО?
Я хотел бы знать, обновлено ли мое локальное РЕПО (и если нет, в идеале, я хотел бы увидеть изменения).
Как я мог проверить это, не делая git fetch
или git pull
?
9 ответов
попробовать git fetch --dry-run
Руководство (git help fetch
) говорит:
--dry-run
Show what would be done, without making any changes.
не совсем - но я не вижу, как git fetch
было бы больно, поскольку это не изменит ни одну из ваших местных ветвей.
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) <-------
Это невозможно. Как вы можете знать, является ли репозиторий "современным", не заходя в удаленный репозиторий, чтобы узнать, что означает "современный"?
вы должны работать git fetch
прежде чем вы сможете сравнить свой локальный репозиторий с файлами на удаленном сервере.
эта команда обновляет только удаленные ветви отслеживания и не повлияет на ваше рабочее дерево, пока вы не позвоните git merge
или git pull
.
чтобы увидеть разницу между вашей локальной веткой и веткой удаленного отслеживания, как только вы получили вы можете использовать git diff или git cherry, как описано здесь.
Другой альтернативой является просмотр состояния удаленной ветви с помощью
git show-branch remote/branch
использовать его в качестве сравнения можно посмотреть git show-branch *branch
чтобы увидеть ветку во всех пультах, а также в вашем репозитории! проверьте этот ответ для более https://stackoverflow.com/a/3278427/2711378
первым использованием git remote update
, чтобы обновить ваши удаленные ссылки. Затем вы можете сделать одну из нескольких вещей, таких как:
-
git status -uno
сообщит вам, отслеживаете ли вы ветку впереди, позади или разошелся. Если он ничего не говорит, местный и удаленные такие же. -
git show-branch *master
покажет вам коммиты во всех ветви, имена которых заканчиваются на "master" (например, master и origin/master).
Если вы используете-v с удаленным обновлением git (git remote-V update) вы можете видеть, какие ветви были обновлены, поэтому вам не нужны дополнительные команды.