Вот сценарий, что произошло (я предполагаю, что это как появилась моя проблема, но не 100% уверен):Git/Github: Фиксировать заблудился
- Кто послал PR, я объединить его, но потом я вернулся его, используя
revert
кнопки GitHub - Он другой PR с теми же коммитами (плюс один, чтобы исправить ошибку)
- Я сливался (используя Github
merge
кнопку) - коммитов, который был возвращён в первый PR имел исчезновение красный от главного репо!
Почему это произошло? Как возможно, что теперь, из вилки, которая сделала PR, это говорит There isn't anything to compare
, хотя эти фиксации не находятся на ветке оригинала удаленного репо.
И, наконец, как я могу восстановить эти коммиты?
EDIT: В соответствии с просьбой, вот интересный пар из моих git log
:
* | | 25f28fb Merge branch 'FooUser-develop' into develop
|\ \ \
| * \ \ 73768b7 Merge branch 'develop' of https://github.com/FooUser/mainRepo into FooUser-develop
| |\ \ \
| | * | | 2e61235 Invert adresses
* | | | | d522031 Merge branch 'develop' of https://github.com/mainUser/mainRepo into develop
|\ \ \ \ \
| |////
|/| | | |
| * | | | 1e6e61b Merge pull request #946 from mainUser/revert-945-develop
| |\ \ \ \
| | * | | | 6767f03 (origin/revert-945-develop) Revert "Corrections"
| |////
| * | | | 5ccc9cd Merge pull request #945 from FooUser/develop
| |\ \ \ \
| | |///
| | * | | 6e0c08b Corrections structuration
| | * | | f7ade9b Correction
| | * | | 4844437 Nb to Str
| | * | | 1729a83 Fix adress
| | * | | ceab88d Corrections: @ssert
| | * | | a3c8d1a #891 Fix
| |///
я, видимо, потерял большую часть первых фиксаций (#891 Fix
, например).
Searching немного больше, я обнаружил, например, что некоторые файлы я добавил в a3c8d1a
(первая фиксация) были правильно объединены на 73768b7
(второй в прошлое) - они не были просто beore, на d522031
, из-за возврата - но затем исчез на 25f28fb
(последний).
EDIT 2: Я думаю, проблема была в том, что вилка не была синхронизирована (он не собирался тянуть/сливаться, когда я принимал его PR, а затем возвращал его). Как я мог это предотвратить? (кстати «исправить» это я должен был Cherry Pick все коммиты не хватает ..)
Можете ли вы предоставить нам 'GIT журнал --graph --oneline --decorate --all' из хранилища? –
Есть много других коммитов, я попытаюсь немного их почистить! – Bonswouar
Только 10 последних коммитов должно быть достаточно, чтобы лучше понять ситуацию. Просто добавьте '-10' в предыдущую команду. –