Почему мои два местных отделения не разделены? - PullRequest
0 голосов
/ 01 мая 2018

У меня проблемы с пониманием, почему это может быть.

Я создал новую ветку branch1 из моей develop ветви. Сделал некоторые изменения, затем создал для него запрос на извлечение на develop.

Затем я создал branch2 из моей ветки develop, над которой я работал.

Теперь мне нужно сделать однострочное обновление до branch1 - следуя некоторому предложению в запросе на извлечение - однако, когда я увидел различия, я заметил, что в него включены все изменения в branch2.

Я бы ожидал, что он покажет только изменения ветви 1, а именно branch1 и branch2 будут отдельными.

Есть идеи, почему это не так? Нужно ли делать что-то конкретное?

1 Ответ

0 голосов
/ 01 мая 2018

Согласно информации, которую вы предоставили, у вас было 2 ветви (которые действительно были отделены друг от друга), и вы внесли изменения в Branch2, но хотели изменить код в Branch1.

Ваша ошибка заключалась в переключении веток, в то время как вы изменили файлы в branch2, по-прежнему отслеживаемой , следовательно, branch2 отличалась от своей фиксации HEAD, и поэтому эти изменения отслеживались, в результате чего они становились часть вашего запроса извлечения после работы на branch1.

Чтобы предотвратить это, вы можете использовать Git Stash для временного помещения всех этих изменений в другое место, пока они не понадобятся снова, что позволяет вам работать с branch1, единственными отслеживаемыми изменениями являются изменения в branch1 (в качестве рабочего каталога branch2). и индекс поддерживается git stash)

Тем не менее, похоже, что вы используете IDE, которая потенциально может покрывать большую часть этого процесса для вас, я бы порекомендовал заняться переключением веток / веток специально для этой IDE и, возможно, попытаться использовать командную строку Git просто для диагностики подобных проблем (Git CLI часто предоставляет подсказки и ошибки, помогающие понять, почему происходят подобные вещи).

...