Является ли git commit атомарным?
крюк обновления может отклонять части фиксации и разрешать другие.
update () в receive_pack.c работает в цикле, который затем вызывает крючок обновления, возможно, несколько раз во время фиксации. Каждый раз, когда вызывается крюк обновления, он может возвращать сбой, по-видимому, позволяя некоторым ссылкам обновляться, а некоторым не обновляться при отклонении.
является ли функция git крючка обновления, позволяющая, возможно, части фиксации, чтобы добиться успеха, а некоторые неудачи означают, что фиксация Git не атомный?
или чего мне здесь не хватает? Спасибо.
1 ответов
да коммиты являются атомарными. Невозможно отклонить часть фиксации.
крюк обновления может вызываться несколько раз в течение одного пуш (не commit), если одновременно толкаются несколько ветвей. Это позволяет принятие обновлений для некоторых ветвей при отклонении обновлений для других, но каждый принял обновление по-прежнему будет указывать на полную фиксацию нажатия хранилище.