Как просмотреть зафиксированные файлы, которые вы еще не отправили? - PullRequest
46 голосов
/ 19 октября 2010

Например, я фиксирую некоторые файлы, на следующий день - еще несколько файлов и так далее.Через несколько дней я хочу просмотреть все мои зафиксированные файлы и просмотреть их разницу с помощью удаленного репо.Обратите внимание, что я ничего не толкнул.Я просто хочу убедиться, что если я нажму какую-нибудь вещь, она перейдет к удаленному репо, как я ожидаю.

Ответы [ 5 ]

44 голосов
/ 19 октября 2010

Предполагая, что вы находитесь в местном филиале master, который отслеживает origin/master:

git diff --stat origin/master..
22 голосов
/ 19 октября 2010

Здесь вы найдете свой ответ:

Используя Git, как найти изменения между локальным и удаленным

Для ленивых:

  1. Использовать "git log origin..HEAD"
  2. Использовать "git fetch", за которым следует "git log HEAD..origin".Вы можете выбрать отдельные коммиты с помощью перечисленных идентификаторов коммитов.

Выше, конечно, предполагается, что «origin» - это имя вашей удаленной ветви отслеживания (как, если вы использоваликлон с параметрами по умолчанию).

7 голосов
/ 19 октября 2010

Команда push имеет опцию -n / --dry-run, которая вычисляет то, что нужно нажать, но на самом деле не делает этого.Это работает для вас?

5 голосов
/ 27 июля 2016

Я не очень хорош в Git, но это то, что я делаю. Это не обязательно сравнивать с удаленным репо, но вы можете изменить git diff с помощью соответствующего хэша коммитов с удаленного репозитория.

Скажем, вы сделали один коммит, который вы не нажали ...

Сначала найдите последние два коммита ...

git log -2

Показывает первый коммит первым и спускается оттуда ...

[jason:~/git/my_project] git log -2
commit ea7937edc8b10
Author: xyz
Date:   Wed Jul 27 14:06:41 2016 -0500

    Made a change in July

commit 52f9bf7956f0
Author: xyz
Date:   Tue Jun 14 14:29:52 2016 -0500

    Made a change in June

Теперь просто используйте два хеша коммита (которые я сократил) для запуска diff:

git diff 52f9bf7956f0 ea7937edc8b10
5 голосов
/ 19 октября 2010

git diff HEAD origin/master

Где origin - это удаленный репозиторий, а master - ветвь по умолчанию, куда вы будете отправлять. Кроме того, сделайте git fetch перед diff, чтобы не отклоняться от устаревшего источника / мастера.

P.S. Я также новичок в git, поэтому, если вышеприведенное неверно, пожалуйста, исправьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...