Ветви очевидно разошлись, но история коммитов идентична - PullRequest
36 голосов
/ 19 февраля 2010

git status говорит мне, что моя ветка и та, с которой я начал в другом хранилище, разошлись:

# On branch master
# Your branch and 'origin/master' have diverged,
# and have 13 and 13 different commit(s) each, respectively.

но история коммитов для каждого идентична. То есть git log показывает те же коммиты, в том же порядке, с теми же хешами SHA-1 . Это за последние 13 коммитов, и все до этого тоже.

Что происходит ?! Или я неправильно понял что-то фундаментальное - git для меня все новое.

Это довольно длинная история о том, как я попал в этот беспорядок - git-svn, cygwin, EGit, pull - rebase с ложными конфликтами - но мне интересно, возможно ли это "расхождение без каких-либо различий" из-за перевода строки ? Я открыл файлы в блокноте и много читал о svn / git / cygwin и CRLF, но без откровений.

Редактировать ОК. Большинство из вышеперечисленных на самом деле не проблема. Может быть, я не понимаю git log или что-то где-то испортилось ...

У меня есть два хранилища. Если я иду к rep_A и запускаю git log, я получаю тот же результат (особенно тот же SHA-1), как если бы я иду к rep_B и запускаю git log.

В rep_A, если я запускаю git log origin/master, я получаю другую ожидаемую историю коммитов. (Различные SHA-1, но одни и те же сообщения - как я создал этот беспорядок - другая история.)

git remote -v show уверяет меня, что источник - это то место, где я ожидаю.

git log на rep_B ведет себя не так, как я ожидал. Как будто он дает мне историю коммитов для rep_A. Что я пропустил?

1 Ответ

16 голосов
/ 04 марта 2010

Похоже, вы также забыли обновить удаленные репозитории.Так что сделайте git remote update в rep_A (вероятно, он предупредит, что это не быстрое обновление, так как вы, кажется, делаете перебазирование на обоих концах), и тогда истории должны быть идентичны.

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