git объединение из ветки dev для управления всеми коммитами до определенного коммита - PullRequest
0 голосов
/ 17 января 2020

Я создал новую ветку из своей основной ветки. В моей новой ветке у меня есть несколько коммитов (AB- C -DE). Я хочу объединить коммиты C и все до этого в master. Я знаю, что могу использовать вишенку A, C и C. Но есть ли способ сказать git включить C и все до этого и слиться с мастером?

1 Ответ

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

Просто запустите git merge <em>hash-of-desired-commit</em>.

На самом деле, так работает git merge. Git не объединяется на основе ветвей , 1 , а скорее на основе коммитов . Когда вы запускаете git merge <em>branch-name</em>, Git превращает имя в коммит ha sh, а затем объединяет с ha sh. Единственное, что делает имя, это устанавливает коммит по умолчанию message (например, merge branch br или merge branch br into feature).


1 Кому точнее говоря, я имею в виду названия ветвей . См. Также Что именно мы подразумеваем под "ветвью"? Когда вы указываете коммит ha sh, результирующее слияние содержит подмножество графа фиксации и слово branch также означает некоторое подмножество графа фиксации , поэтому в этом смысле Git объединяет «ветви».

Проблема в том, что слово сама ветвь чрезмерно используется, что истощает ее смысл. Вы когда-нибудь были на вечеринке, где всех зовут Брюс? «Эй, Брюс! Брюс сказал мне, чтобы я сказал тебе, что Брюс позвонил Брюсу, чтобы сообщить, что Брюс не сможет это сделать. Пожалуйста, скажи это Брюсу, хорошо?» (Какой Брюс на самом деле не собирается это делать?)

...