Почему в запросе на удаление отображаются дополнительные коммиты после перебазирования? - PullRequest
0 голосов
/ 31 января 2020

Итак, я начал с запроса на вытягивание, который был на несколько коммитов впереди develop, давайте назовем эту ветку feature.

feature имел 1 конфликт слияния с разработкой. Поэтому я решил изменить положение и разрешить конфликт.

  1. git checkout develop git pull
  2. git checkout feature git pull
  3. git rebase develop
  4. Исправлен конфликт слияния - добавлен новый коммит
  5. git rebase --continue
  6. Успешная перебазировка.
  7. git push

После этих шагов PR на gitHub перешел от 7 коммитов к 60+ коммитам.

Я бы ожидал, что он будет go от 7 до 8 коммитов, так как я исправил один конфликт.

Есть идеи о том, что произошло и как (если нужно) это исправить?

Я могу опубликовать дополнительную информацию, если потребуется

Ответы [ 2 ]

1 голос
/ 04 марта 2020

Взгляните на журнал git вашей ветки и попробуйте найти что-нибудь необычное.

Один комментарий упоминается с использованием git log, но вы также можете использовать git log --graph --oneline, чтобы получить визуальное представление истории коммитов вашей ветки. Если ваша ветка была правильно перебазирована, вы увидите что-то вроде:

* 5eccc30d1 (HEAD -> feature, origin/feature) # Your commit message 8
* 5f73d262a # Your commit message 7
* 6c636b744 # Your commit message 6
* 97e17a7cf # ...
* 596297507 # ...
* 4646ce633 # ...
* 9fb61eb95 # ...
* 38dab17ae # Your commit message 1
*   7532142f7 (origin/develop) Merge pull request #...
|\
| * 042303c7e Add feature
* |   008f1e53b Merge pull request #...
|\ \
| * | 5a398f715 Fix issue with #...
# And so on

Сравните с этим и попытайтесь найти что-то необычное. Коммит под вашим первым коммитом должен быть вашей базовой веткой, и не должно быть никаких коммитов, смешанных между теми, что вы написали.

Я подозреваю, что может быть проблема с использованием git pull с вашей веткой возможностей. Если вы работаете над этим пиаром самостоятельно, у вас не должно быть причин для этого, и что-то может быть не так из-за этого.

Если вам нужно использовать ветку функций, попробуйте вместо этого использовать git pull --rebase , что эквивалентно извлечению и перебазированию вместо извлечения и слияния. Это гарантирует, что ваши локальные коммиты останутся на вершине вашей истории, в случае, если между вашим местным филиалом и вашим происхождением будут различия.

1 голос
/ 31 января 2020

Проблема может заключаться в том, что ваша ветка feature, вероятно, извлечена из какой-то другой ветки, скажем, test, которая уже на много коммитов впереди. Поэтому, даже если вы сделали ребазинг из той же ветви, против которой вы делаете рейз, вы получите несогласованность коммитов. Чтобы исправить это, я знаю одно: создайте новую ветку из ветки разработки и выберите все свои коммиты из ветви feature.

...