Я очень новичок в Git, но меня очень впечатляет облегченное ветвление/слияние, которое оно обеспечивает.Git объединяет ветку исправления в ветку функций, а затем удаляет ветвь исправления?
У меня есть три ветви в моем хранилище:
master
1.1.0
1.0.x
Я сделал быстрое решение в 1.0.x
отрасли, но мне интересно, если я должен немедленно объединить эти изменения обратно в 1.1.0
? Или рекомендуется подождать, пока ветка 1.1.0
будет готова к выпуску в качестве младшей версии, чтобы снова объединить исправления?
А также, в этом образе:
я притворяюсь, что iss53 = 1.0.x
и master = 1.1.0
для этого примера. После того, как изменения в моей ветке исправления 1.0.x
были объединены обратно в ветку функций 1.1.0
, могу ли я продолжить работу с веткой 1.0.x
?
Если я коммлю, работая на 1.0.x
ветви, после выше слияния, это будет просто создать новую горизонтальную связь (чтобы представить его визуально) от гипотетического C7
фиксации, с одним родителем C5
, или это будет имеют двух родителей, C5
и C6
?
В этом разделе git-book (Git - Basic Branching and Merging) также упоминается удаление ветки после ее завершения, но, к сожалению, не показывают, как будет выглядеть граф после этого. Наверняка коммиты все еще там - этикетка просто удалена? (iss53
в приведенном выше примере.) И как только эта ветка удаляется, если вы обнаружите, что проблема 53 не была полностью исправлена, вы можете продолжить работу от C5
, создав еще одну ветку iss53
, или вам нужно дать ей другую имя, например iss53_2
?
Спасибо! «Если у вас есть коммиты, которые больше не доступны ни на одной этикетке, тогда они могут быть удалены сборкой мусора ...» Можете ли вы расширить это? Когда я могу получить ветку, которая недоступна? Разве я не смогу отслеживать пути своих родителей до тех пор, пока не найду объединенную фиксацию (например, C6), в которой есть два родителя? –
@CraigOtis Я думаю, что @jcoder означает, что фиксация должна быть сборкой мусора в какой-то момент, когда на нее не ссылаются другие коммиты и метки. Когда вы удаляете ветку, ветка исчезла, и ее рефлок тоже исчез. На вашем графике удалите 'iss53', но все транзакции безопасны; но удалить мастер, C4 и C6 небезопасны. –