GIT Noob - Как предотвратить непреднамеренные слияния? - PullRequest
1 голос
/ 28 января 2012

Я новичок в GIT и мне интересно узнать о соответствующем рабочем процессе (это только мой второй SCM с моим первым, являющимся Clearcase).Предположим, что есть 2 ветви GIT: Master & Foobar.

Джон редактирует файл, hello.txt, где его изменения должны быть ТОЛЬКО в ветви Foobar.Джон проверяет ветку Foobar, вносит свои изменения и фиксирует их.

Теперь Джейн необходимо внести изменения в hello.txt, которые должны находиться в ОБА ветвях Master & Foobar.Она проверяет ветку Foobar, вносит изменения и фиксирует это.Затем она проверяет ветку Master и извлекает файл из ветки Foobar.Однако теперь она неправильно соединила изменения Джона с Master.

Как можно избежать этой ситуации?В мире Ясного дела Джон должен был бы создать стрелку слияния, чтобы гарантировать, что его изменения не слились с Master.Есть ли что-то похожее в GIT?Или есть лучший рабочий процесс для этого?

Ответы [ 2 ]

2 голосов
/ 28 января 2012

если вы находитесь на ветви A и хотите внести изменения в коммит на ветви B, вам нужно cherry pick , чтобы эти изменения были. См. Google: git cherry pick

если вы делаете git pull B, вы просто слили B в A; чего вы хотите избежать но, к счастью, отменить слияние легче, чем выполнить. если он не был перенесен куда-либо, все, что вам нужно сделать, это сбросить заголовок A до коммита до слияния.

1 голос
/ 28 января 2012

В git нет такой вещи как стрелка слияния.

Звучит так, будто Foobar - это ветвь, в которой вносятся изменения, которые не следует осваивать.Если это так, то Джейн должна была начать свою работу в master и объединить ее с Foobar.

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