Когда вы нажимаете на отмеченную ветку удаленного репозитория, вы обычно получаете предупреждение, а Git не позволит вам сделать это.
Но я получаю импликацию, что git может нажать на текущую ветку удаленного репозитория, начиная с Version Control с помощью Git, на Loeliger, 2ed, особенно тексты жирным шрифтом:
Операция push может обновлять состояние репозитория, включая HEAD совершить. То есть, хотя разработчик на удаленном конце ничего, ветка refs и HEAD может измениться, переставая синхронизироваться с проверенными файлами и индексом.
Разработчик, который активно работает в репозитории, в который асинхронное нажатие не увидит толчок. Но последующий фиксация этим разработчиком произойдет на неожиданном HEAD, создав странная история. Усиленный толчок потеряет толкаемые фиксации от другого разработчик. Разработчик в этом репозитории также может оказаться неспособная согласовать свою историю с каким-либо восходящим репозиторием или нисходящий клон, потому что они более не бывают быстрыми вперед, как они должны быть. И она не знает, почему: хранилище тихо из-под нее. Кошки и собаки будут жить вместе. Itll будет плохо.
В результате вам предлагается просто входить в открытый репозиторий. Это не жесткое правило, но его хорошее руководство к средний разработчик и считается лучшей практикой. Есть несколько примеры и варианты использования, в которых вы, возможно, захотите, но вы должны полностью понять его последствия. Когда вы хотите вставить в репозиторий разработки, вы можете следовать одному из двух основных подходов.
В первом сценарии вы действительно хотите, чтобы имел рабочий каталог с филиалом, извлеченным в принимающем репозитории. Вы можете знать, например, что никакой другой разработчик никогда не будет активен там есть и, следовательно, никто не может быть слепым в то время как молчащие изменения вставляются в его репозиторий.
В этом случае вам может потребоваться включить крюк в принимающем репозиторий выполнить проверку какой-либо ветки, возможно, только один помещается в рабочий каталог. Чтобы убедиться, что получающий репозиторий находится в нормальном состоянии до автоматического checkout, крючок должен следить за тем, чтобы работали нестационарные репозитории каталог не содержит изменений или измененных файлов и что его индекс имеет нет файлов в поэтапном, но незафиксированном состоянии, когда происходит нажатие. Когда эти условия не выполняются, вы рискуете потерять эти изменения или изменения, так как проверка перезаписывает их.
Существует еще один сценарий, в котором вхождение в нестационарный репозиторий может работать разумно Что ж. По соглашению, каждый разработчик, который меняет изменения, должен нажимать на неконтролируемый out, который считается просто принимающей ветвью. Разработчик никогда не подталкивает ветку, которая, как ожидается, будет проверена. Некоторые разработчики, в частности, управлять какой ветвью проверяется и когда. Возможно, этот человек несет ответственность за обрабатывая принимающие ветки и объединяя их в ведущую ветвь, прежде чем она выдан.
Означает ли это, что git может нажать на текущую ветку удаленного репозитория? (Мое предположение да, но я не уверен)
Является ли абзац до последнего (абзац, рекомендующий использовать крючок, который проверяет ветвь, обновленную push), предполагает, что ветвь, на которую нужно нажать, не является текущей ветвью в удаленном репозитории? (Моя мысль состоит в том, что проверка ветки на нажатие означает, что ветвь, на которую нужно нажать, не является текущей ветвью, но последний абзац указывает на "другой сценарий" нажатия на не проверенную ветку, что означает, что в предыдущем абзаце говорится о нажатии на выданную ветвь, т.е. текущую ветвь)