2016-06-15 1 views
0

Git имеет следующие понятия:Каков термин для структуры данных в git, который будет обновляться, если я буду совершать?

  • ГОЛОВЫ указатель (указатель на вершину совершить на текущей ветке)
  • индекса (промежуточная область для изменения)
  • рабочий каталог (локальная файловая система)

Но каков термин для структуры данных в git, который будет обновлен, если я вступлю в некоторые изменения?

+0

Считаете ли вы отзыв ветви? –

+0

Я считал «reflog» и «базу данных git». Отделение можно назвать одним из аспектов структуры данных, поэтому я подозреваю, что существует более канонический термин. – Ben

+1

[связанное чтение, в котором вам может быть интересно] (http://stackoverflow.com/a/5582368/4233593) –

ответ

1

Как только вы зафиксируете, HEAD будет указывать на новую фиксацию, которую вы создали, которая будет содержать содержимое дерева вашего индекса.

Отличным изношенном все это доступно в Pro Git, in the Reset Demystified section

HEAD является символическим ref-- то есть реф, который (обычно) указывает на другой исх. Филиал - это тип ref, и ваша ветка будет обновляться, если вы зафиксируете ее, пока эта ветка будет извлечена. Тем не менее, вы можете проверять вещи, отличные от ветвей (теги и простые коммиты по id), но тогда у вас будет «отсоединенный HEAD». HEAD все равно изменится, когда вы зафиксируете, но вы можете потерять эти коммиты, если вы отключаетесь.

В общем, единственное, что вы можете гарантировать обновление при фиксации является символическим исх HEAD и возможно текущая ветвь, которая является ref. Все остальные структуры данных создаются заново.

+0

Да, но каково имя структуры данных, которая была обновлена ​​фиксацией? – Ben

+0

@BenAston мой ответ был обновлен - вы, вероятно, ищете 'ref'. –

+0

Полезно, спасибо. IIUC reflog содержит ссылки на ветки, теги и т. Д. Поэтому, когда я фиксирую, обновляется ссылка HEAD, связанная с моей текущей ветвью. Но «база данных git» также должна быть обновлена ​​с целью ссылки? Предположительно, ref указывает на SHA-хэш, который является индексом в эту «базу данных». Я использую «базу данных git» вместо терминов, которые я ищу. – Ben