2016-01-09 14 views
5

receive.denyCurrentBranchconfig option контролирует, что произойдет, если вы нажмете на ветку репо, которая является выпиской.Как `receive.denyCurrentBranch = updateInstead` взаимодействует с индексом?

По умолчанию он отклоняет его (именно поэтому вы обычно только нажимаете на голые репозитории, у которых нет ветвей проверки).

Его можно отключить с помощью ignore или warn.

Другой вариант: updateInstead.

Что это делает, что если HEAD и рабочий каталог одинаковы, и ветвь толкают является HEAD, как рабочий каталог и филиал/HEAD обновляются одновременно.

Если рабочий каталог отличается от HEAD, то нажатие отклоняется.
Это полезно, для нажатия на веб-серверы, for example.

Вопрос в том, что эта опция взаимодействует с Index?

Обновлен ли индекс? Что делать, если HEAD и рабочий каталог совпадают, но не Index?

ответ

5

Обновлен ли индекс? Что делать, если HEAD и рабочий каталог совпадают, но не Index?

Commit 0855331 (git 2.4.0-rc0, Dec. 2014) утверждает, это ясно:

Когда receive.denyCurrentBranch установлен в updateInstead, толчок, который пытается обновить ветвь, которая в настоящее время извлеченная принимается только тогда, когда индекс и рабочее дерево точно совпадает с в настоящее время проверил фиксацию, и в этом случае индекс и рабочее дерево обновляются в соответствии с нажатой фиксацией.
В противном случае толчок отклоняется.

Несмотря на то, что тот же совершил введенный крючок push-to-checkout.

Этот крюк может использоваться для настройки этой логики «push-to-deploy».
Крюк получает фиксацию, с которой будет обновляться кончик текущей ветви, и может решить, какие локальные изменения приемлемы, и как обновить индекс и рабочее дерево в соответствии с обновленным концом текущего ветка.

Это дает немного гибкости в отношении индекса.


Commit 1a51b52, git 2.4.0-rc2, Apr 2015 говорит снова:

Установка receive.denycurrentbranch в updateinstead и толкая в текущую ветвь, когда рабочее дерево и индекс действительно чистый, предполагается восстановить рабочее дерево и индекс, соответствующий дереву нажатой фиксации.