Что такое родитель git commit? Как может быть более одного родителя для git commit? [дубликат]

этот вопрос уже есть ответ здесь:

Я смотрел на этой вопрос, когда я совсем запуталась. Насколько я понимаю, предыдущая фиксация является родительской для фиксации.

1 ответов


родитель фиксации является фиксация текущего фиксации на основе. Обычно:

  • когда вы git commit обычно текущая фиксация становится родительской фиксацией новой фиксации, введенной командой.
  • когда вы git merge две фиксации (или ветви, что угодно) без быстрой переадресации, новая фиксация будет создана с помощью и совершает как родители. Таким образом, вы можете объединить более двух коммитов, поэтому новый коммит может иметь более одного родитель.

по существу, дерево фиксации (или Даг, если мы хотим быть точными) состоит из этих родительских [1] commits) указывают на родителей (менее "недавние"[1] commits).

единственным исключением является начальная фиксация (или любые другие корневые фиксации), у которой нет родителей.


  1. "последние" не совсем точный термин, как вы уже очень старая ветка, с одной стороны, и очень новая-с другой. И дочерняя фиксация может быть намного "старше", чем другая фиксация, которая является родительской в другом месте.