为什么将检入文件称为“提交”?

问题描述 投票:13回答:5

在git,mercurial或svn等源代码控制存储库中检入文件的行为称为commit。有人知道为什么称它为commit而不是仅仅称为check in的原因吗?

英语不是我的母语,所以我可能听不太懂她的语言,但是我实际上要遵守的是什么? (希望我没有犯罪,但您永远不会知道。)

是指“委托保存”吗?它与交易有关(在交易结束时提交)吗?

git svn mercurial
5个回答
15
投票

“ commit”一词也可以表示保护某些东西以备将来使用或保存。例如,“他将密码提交到内存中”。当您“提交”所做的更改时,您将它们锁定为当前状态,以备将来保存。


5
投票

也考虑版本控制存储库是一个引用,就像数据库是引用一样。术语commit来自数据管理,使一组临时性更改永久生效。(请注意,对于git来说,这很有意义,您可以使用git add在索引中添加临时更改,然后再使用git commit将其记录到存储库中))

在这些版本控制系统的上下文中的提交是指将源代码的最新更改提交给存储库

,并将这些更改作为存储库的主要修订的一部分。因此,当其他用户从存储库中执行UPDATEcheckout时,他们将收到最新的提交版本,除非他们指定他们希望检索存储库中源代码的先前版本。

1
投票

盲目地从我的macs lex复制而来,3解释得不够吗?


1
投票

“签入”,“签出”术语至少可以追溯到1980年代初期的UNIX RCS(修订控制系统),其命令的字面意义为cico。在此系统和其他较旧的系统中,一次只能由一个用户编辑一个文件,因此“签出”类似于从图书馆签出一本书。您拥有排他性的编辑文件的权限,直到重新签入为止。


-4
投票

主要是要区分Subversion之类的集中式VCS与分布式VCS之间的差异。集中式系统使用“签出”和“签入”术语。这些术语有助于表示存在一些控制这些操作的中央枢纽或代理。它具有可打开然后关闭的“保险箱”的含义。当文件涉及锁定时尤其如此,例如Subversion / TFS等上可能的情况。

© www.soinside.com 2019 - 2024. All rights reserved.