据我所知,git checkout将当前目录中的文件状态更改为树中特定点的状态.因此,它可用于切换分支或访问先前的提交.
为什么checkout选择此操作的名称?
这个类比是"我要去看看"吗?
是从图书馆查看书籍吗?
我不是在问这个名字是不是一个好主意,或者试图对自己做出判断 - 我只是想知道这个名字的历史起源是什么.
这大部分都是历史性的.pre-git版本控制系统(VCSes)使用动词签入和签出.
我正在写的一本书的摘录:
用作动词, 版本意味着 控制VCS.用作名词,版本是指 从VCS (一个文件或一组文件)中获取的特定版本.通常名词形式带有附加修饰符,如短语旧版本
kanga.c或2.1版本roo.c.如果没有列出特定文件,我们通常表示一切,或者至少是最近讨论的所有内容: 版本2.1(存储库中的所有内容,或者我们正在讨论的特定文件和/或目录).这个词的修订始终是一个名词,但在其他方面意味着同样的事情版本.另一个要签入的动词意味着存储到VCS中.正如您所料,如果我们可以办理登机手续,我们也可以退房,这意味着从VCS中提取.一些VCS添加动词进行更新,它们可用于区分提取旧版本(您检出)和升级到最新版本(我们希望)最大版本(您更新).Mercurial使用update 作为结帐的纯同义词.
我假设能告诉你这个名字从何而来的人就是Linus Torvalds开发 git 的人。
根据 checkout 执行的操作 - 切换工作目录的内容,我只能假设这个词的起源就像你所描述的那样
Checking out book from the library
来自文档: https:
//www.kernel.org/pub/software/scm/git/docs/git-checkout.html
git-checkout-检查工作树的分支或路径
Links:它是版本控制系统的常见词汇的一部分,虽然它的行为与第一个基于锁定的版本控制系统不同,但它似乎是一种自然的演变.
2005年
man git checkout\nRun Code Online (Sandbox Code Playgroud)
NAME git-checkout - 签出一个或多个工作树的路径[...]
描述更新工作树中的文件以匹配索引或指定树中的版本.如果没有给出路径,git checkout也会更新HEAD以将指定的分支设置为当前分支.
2000
svn help checkout\nRun Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)checkout (co): Check out a working copy from a repository.\n
1986年
man cvs \nRun Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)checkout\n Check out sources for editing\n[...]\n\n Create or update a working directory containing copies of the source\n files specified by modules. You must execute checkout before using\n most of the other cvs commands, since most of them operate on your\n working directory.\n\n The modules are either symbolic names for some collection of source\n directories and files, or paths to directories or files in the repos\xe2\x80\x90\n itory. The symbolic names are defined in the modules file. See node\n \'modules\' in the CVS manual.\n\n Depending on the modules you specify, checkout may recursively create\n directories and populate them with the appropriate source files. You\n can then edit these source files at any time (regardless of whether\n other software developers are editing their own copies of the\n sources); update them to include new changes applied by others to the\n source repository; or commit your work as a permanent change to the\n source repository.\n
1982年RCS
man co\nRun Code Online (Sandbox Code Playgroud)
co从每个RCS文件中检索修订并将其存储到相应的工作文件中.
匹配RCS后缀的路径名表示RCS文件; 所有其他人都表示工作文件.如ci(1)中所解释的,名称配对.
可以检出锁定或解锁的RCS文件的修订.锁定修订可防止重叠更新.不需要锁定检出以进行读取或处理(例如,编译)的修订.必须锁定已签出以进行编辑并稍后签入的修订版.如果要检出的修订版本当前被其他用户锁定,则带锁定的结帐会失败.(可以使用rcs(1)断开锁定.)带锁定的检出还要求调用者位于RCS文件的访问列表中,除非他是文件的所有者或超级用户,或者访问列表为空.没有锁定的Checkout不受访问列表限制的约束,并且不受锁的存在的影响.
1972年
SCCS没有结账,它有一张支票.也许有人可以确认它是否从那里接受了这个想法.
man SCCS\nRun Code Online (Sandbox Code Playgroud)
检查类似信息,但如果没有编辑任何内容则不打印任何内容,如果正在编辑任何内容,则返回非零退出状态.目的是将其包含在makefile中的"install"条目中,以确保在安装版本之前所有内容都包含在SCCS文件中.
| 归档时间: |
|
| 查看次数: |
1994 次 |
| 最近记录: |