2012-05-02 2 views
12

Настройка: 3 git repos - на github, локальном и промежуточном сервере.См. Точное расхождение/фиксации между локальным и удаленным Git repo

Я разрабатываю локально, подталкиваю его к github и промежуточным серверам.

Я не работаю и не совершаю изменений на промежуточном сервере, но я должен был это сделать так давно. Потому что теперь я получаю следующее сообщение, когда я git status (на промежуточном сервере):

On branch SOME_BRANCH 
Your branch and 'origin/SOME_BRANCH' have diverged, 
and have 4 and 32 different commit(s) each, respectively. 

Мой вопрос:как я вижу эти точные коммиты, которые не origin?

+0

ПРИМЕЧАНИЕ: Я попробовал 'git log -graph --pretty -abbrev-commit -oneline', но история слишком длинная. Поэтому мне интересно, есть ли лучший способ. – Uzbekjon

+0

Возможный дубликат [главная ветвь и «происхождение/мастер» расходятся, как «разделить ветви»?] (Http://stackoverflow.com/questions/2452226/master-branch-and-origin-master-have- diveded-how-to-undiverge-branch) – CharlesB

+0

Ваш ответ, а также 'git log origin..HEAD' отлично поработали. Re: дублировать вопрос, другой вопрос хочет разойтись, тогда как я хочу знать, как он расходится. – Uzbekjon

ответ

16
git rev-list origin..HEAD 

Этот список коммитов в вашей отрасли (голова), которые не являются по своему происхождению.

+2

Полезно добавить 'format =% B ', чтобы получить сообщения о фиксации слишком – Crisfole

+4

Хммм, я получаю:' фатальный: неоднозначный аргумент' origin..HEAD ': неизвестная версия или путь не в рабочем дереве. Используйте '-' для разделения путей от ревизий, например: 'git [ ...] - [ ...]' ' – crmpicco

+0

@crmpicco try' git log origin..HEAD'. Если вы получите сообщение об ошибке, возможно, ваш пульт не называется 'origin'. Попробуйте 'git remote -v'. Выводит ли вывод 'origin'? – Uzbekjon

2

В общем, если ваш пульт называется Foo и ваша ветвь бар:

git rev-list foo/bar..HEAD 

@charlesb ответ за то, что в главной ветви с дистанционным названием происхождения.

Смежные вопросы