Почему изменения применены к главной ветке, хотя я не слил - PullRequest
1 голос
/ 30 декабря 2011

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

git branch development
git checkout development

После этого я начинаю вносить изменения в свой проект на ветке development.

Затем я фиксирую и нажимаю:

git push origin development, поэтому я создал удаленную ветку разработки.

Наконец, я возвращаюсь к master ветке:

git checkout master ( без слияния изменения, внесенные в ветку development)

Затем:

git pull origin master (чтобы получить других разработчиков 'изменения в master ветви)

НО, как ни удивительно , все изменения в development ветви применяются к master ветви !! ПОЧЕМУ ?? Я не выполнил команду git merge development после того, как вернулся в ветку master, почему изменения применились к моей master ветви ??

Как это уже произошло, как я могу вернуть мою ветку master, чтобы она была без изменений по сравнению с веткой development сейчас?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2011

в git log, я видел, как один разработчик сделал "Слияние ветки удаленного отслеживания 'origin / master'", может ли это быть причиной?

Да, это причина, и ваша git pull origin master будет:

  • получить содержимое origin/master (которое уже содержит слияние с origin/development)
  • объединить его с локальной веткой master (ускоренное слияние)

Учитывая, что origin/master уже был клонирован, я бы не советовал менять его историю на этом этапе. Так что нет 'git reset'.

Если вам понадобится , чтобы продолжить работу с мастером до слияния, просто получите правильный SHA1 из git log и:

git checkout -b my_new_branch right_SHA1

Вы начинаете новую ветку от вас в последний раз master HEAD перед слиянием.

0 голосов
/ 30 декабря 2011

Может быть, вы редактировали неотслеживаемые файлы или что-то еще? Без дополнительной информации трудно сказать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...