Почему происходит проверка файлов, называемых "commit"?

Акт проверки файлов в репозитории управления версиями, например git, mercurial или svn, называется фиксацией. Кто-нибудь знает причину, по которой он называет это коммит, а не просто регистрироваться?

Английский язык не мой родной язык, так что это может быть какой-то лингвистический, я не совсем понимаю ее, но что я на самом деле собираюсь? (Надеюсь, я не совершаю преступления, но вы никогда не узнаете.)

Разве это означает "отправляться на сохранение"? Связано ли это с транзакциями (фиксация в конце транзакции)?

Ответ 1

Слово "совершить" также может означать, чтобы обеспечить что-то для будущего использования или для сохранения. Например, "Он записал пароль в память". Когда вы "совершаете" свои изменения, вы блокируете их, как сейчас, для сохранения в будущем.

Ответ 2

Рассмотрим также, что репозиторий управления версиями является ссылочным базами данных. И термин commit поступает из управления данными, делая постоянный набор предварительных изменений.
(Обратите внимание, что это имеет большой смысл для git, где вы добавляете предварительные изменения в индекс с помощью git add, прежде чем записывать их в репо с помощью git commit)

Фиксирование в контексте этих систем управления версиями относится к отправке последних изменений исходного кода в репозиторий и внесению этих изменений в часть основной версии репозитория.
Таким образом, когда другие пользователи делают UPDATE или checkout из репозитория, они получат последнюю версию, если только они не укажут, что они хотят получить предыдущую версию исходного кода в репозитории.

Ответ 3

Слепо скопировано из моего macs lex, не 3 достаточно объяснить его?

commit |kəˈmɪt|
verb ( commits, committing, committed ) [ with obj. ]
1 ...
3 (commit something to) transfer something to (a state or place where it can be kept or preserved): he composed a letter but didn't commit it to paper | she committed each tiny feature to memory.
• consign (someone) officially to prison, especially on remand: he was committed to prison for contempt of court.
• send (a person or case) for trial in a higher court: the magistrate decided to commit him for trial .
• send (someone) to be confined in a psychiatric hospital.
• refer (a parliamentary or legislative bill) to a committee.

Ответ 4

В основном, чтобы различать различия между централизованным VCS, таким как Subversion и Distributed VCS. Централизованные системы используют терминологию "check out" и "check in". Эти термины помогают понять, что существует некоторый центральный хаб или брокер, который контролирует эти операции. Он имеет коннотацию "сейфа", которую можно открыть, а затем закрыть. Это особенно актуально, когда блокировка включена в файл, как это возможно на Subversion/TFS и т.д.

DVCS предпочитают более агностическую терминологию, такую ​​как "фиксация" и "обновление", поскольку она иллюстрирует, что в этих операциях нет центрального брокера.

Также было бы странно "проверять" что-то, но затем все равно придется "нажимать" его на удаленный сервер. "Check in" имеет, особенно в VCS, коннотации, что это сквозной процесс. Что, конечно, не было бы правдой в DVCS.

Возможно, вы можете создать псевдоним команды в своем DVCS под названием "check in", который выполняет как фиксацию, за которой следует push. Например.