Он просто перемещает РУКОВОДИТЕЛЯ: как я уже говорил в "Practical uses of git reset --soft
?":
git reset
все о движении головой.
Если вы перемещаете HEAD в другой фиксатор, тогда HEAD остается detached.
После a discussion о разнице между git reset
и git checkout
против отсоединенных или прикрепленных природ symbolic reference HEAD, вот что мы нашли вместе:
- если ГОЛОВЫ точки на ветви,
git reset
будет двигаться отраслями, а также в <something>
: сброс его не делает его отсоединенным, он меняет ветвь HEAD
- , если HEAD указывает на фиксацию (уже отсоединен), тогда она останется отсоединенной: по мере того как OP кладет ее:
поэтому, когда отсоединен, и я звоню git reset <branch>
, он находит фиксацию за веткой и изменяет фиксацию в .git/HEAD
для фиксации, на которую ссылается <branch>
.
Рассмотрим ГОЛОВУ, который прикреплен к branch1 (cat .git/HEAD
вернется branch1
):
git checkout branch2
изменит ГОЛОВА к branch2
и оставить branch1
нетронутые
git reset branch2
сбросит branch1
ГОЛОВА к branch2
: cat .git/refs/heads/branch1
будет содержать тот же SHA1, что и branch2
.
Вот разница:
- сброс двигается ГОЛОВА (как я уже сказал в начале: это все о перемещении головы)
- контроля переключает ветвь (или отрывает голову)
Относительно прикрепленного/отсоединенного типа ГОЛОВКИ:
- re set не меняет характер HEAD (если он был прикреплен, он остается прикрепленным)
- Оформить заказ можно изменить характер HEAD (если он был прикреплен, и вы проверяете фиксацию вместо ветви, HEAD становится отсоединенной)
не проверка также о перемещении HEAD? На мой взгляд, проверка перемещает HEAD, тогда как сброс перемещает предмет, который HEAD указывает на ... – Novellizator
Как я упоминал в разделе «В чем разница между« git reset »и« git checkout »?» (http://stackoverflow.com/a/3639387/6309), 'git checkout' изменяет рабочее дерево (а не индекс). 'git reset' может перемещать HEAD без изменения рабочего дерева (и он может также сбросить индекс, если не' --soft'). – VonC
ОК. так что в отдельной голове, а когда мы пренебрегаем рабочим деревом и индексом, то сброс ветви ветви и проверки делает по существу то же самое? (= оба перемещают голову в ветвь) – Novellizator