Git не допускать несвязанных историй - PullRequest
0 голосов
/ 11 июля 2020

Чтобы иметь чистую историю , я создаю пустую ветку с помощью этой команды:

git checkout --orphan t0

затем я сделал первую фиксацию:

git commit -m "First commit"

Теперь t0 имеет весь код ветки разработки и идентичен (исходный код).

После завершения работы я попробовал pull request, но получил ошибку, что несвязанные истории нельзя использовать в pull запрос.

Я попытался объединить его в ветке разработки, выполнив следующие действия:

git merge development --squash --allow-unrelated-histories

Но я получаю это сообщение:

Automatic merge went well; stopped before committing as requested
Squash commit -- not updating HEAD

Может ли кто-нибудь подсказать мне, как исправить проблему и передать мой код в разработку?

1 Ответ

0 голосов
/ 12 июля 2020

Git тоже сделал именно то, что вы ему сказали. Слияние прошло удачно (об этом даже сказано в выводе). Он не зафиксировал слияние, потому что именно так работает слияние squa sh:

Создает рабочее дерево и состояние индекса, как если бы произошло настоящее слияние (за исключением информации о слиянии), но на самом деле не совершайте фиксацию

Источник: https://git-scm.com/docs/git-merge

Вам просто нужно зафиксировать поэтапные файлы. Чтобы выполнить обычное слияние, просто удалите флаг --squash.

В вашем случае я бы не рекомендовал слияние squa sh. Обычное слияние приведет к фиксации с двумя родителями, чтобы отразить тот факт, что вы объединили две истории вместе.

...