Тож уявіть, що трапляється наступне (і що ми всі використовуємо SourceTree):
- Ми всі працюємо на походження / розвиток.
- Я їду у відпустку на тиждень.
- Мій колега працює на місцевому рівні протягом останніх кількох днів, не зливаючись походженням / розвиваючись назад, до своєї місцевої галузі розвитку.
- Він намагається зробити поштовх, йому кажуть, що спочатку він повинен злитися, а потім робить потяг.
- У нього виникає конфлікт, зупиняючи процес автоматичного з’єднання після злиття.
- Припускаючи, що Git схожий на SVN, мій колега відкидає "нові" файли у своїй робочій копії, а потім здійснює злиття - витираючи ті "нові" файли з голови походження / розробки.
- Довершення цієї редакції триває тиждень, що вартує розробок.
- Повертаюсь з канікул і з’ясовую, що кілька днів моєї роботи не вистачає.
Всі ми дуже новинки в Git (це наш перший проект, який використовує його), але я зробив це, щоб виправити це:
- Перейменуйте "розвивати" на "розвивати_old".
- Об’єднайте develo_old у нову гілку "razvija_нову".
- Скиньте гілку develo_new до останнього комітету перед поганим злиттям.
- Вишня обирає кожне зобов’язання відтоді, по одному, вирішуючи конфлікти вручну.
- Підштовхуйте до розробки і розробляйте новіші до початку.
На цьому етапі, я сподіваюсь, що розвиваючий_новий - це «хороша» копія всіх наших змін із наступними тижнями, які варто виконати. Я також припускаю , що «зворотна зробити» буде робити дивні речі на злиття, особливо тому , що найближчі кілька тижнів стоять роботи заснований на ній - і з цим злиттям містить багато речей , які ми дійсно хочемо разом з речами , ми не » т.
Я сподіваюся, що це більше не повториться, але якщо це повториться, я хотів би знати про простіший / кращий спосіб виправити речі. Чи є кращий спосіб скасувати "поганий" злиття, коли в репо-резі на основі цього злиття пройшло багато роботи?
git log
формату з відповідними примітками про те, що сталося під час різних комітетів? (Я б редагував / коментувавgit log --graph --pretty=oneline --abbrev-commit
та йшов звідти)