这些单词在Git中意味着什么:存储库,分支,分支,克隆,跟踪?

Eri*_*son 130 git branch clone

老实说,我不清楚这里的语义.它们都是关于代码+历史单元的副本/变体,但过去我不确定我能说什么.这个逻辑结构是在某处解释的吗?

nfm*_*nfm 146

存储库只是存储工作历史的地方.它通常位于.git工作副本的子目录中 - 您正在处理的文件的最新状态的副本.

要分叉项目(在某个时间点从某人的存储库获取源代码,并对其应用您自己的不同更改),您将克隆远程存储库以创建它的副本,然后在本地存储库中执行您自己的工作,提交更改.

在存储库中,您拥有分支,这些分支在您自己的存储库中是有效的分支.您的分支机构将在您的存储库中拥有一个祖先提交,并将与您的更改分开.您可以稍后合并分支更改.分支允许您同时处理多个不同的功能.

您还可以跟踪远程存储库中的各个分支.这允许您从另一个人的分支中提取更改并将它们合并到您自己的分支中.如果您和朋友一起处理新功能,这可能很有用.

网上有很多很棒的git书.看看ProGitGit Magic的入门,以及官方教程和社区书籍.

  • 我认为需要特别提及的是,从历史上看,无论您使用哪种VCS,分叉和分支都被视为两个独立的事物.分支机构被认为是有利的,暗示了开发商之间的协议.分叉更严重,因为它暗示开发项目的开发人员不同意某些事情并决定分道扬.. 在双方达成协议后,成功的叉子通常会合并回一个项目.从那时起,Git(和GitHub)已经模糊了这些术语,这两个术语基本上代表了相同的想法,但以不同的方式. (3认同)

Eri*_*son 13

我将用RTFM回答我自己的问题.

但是,阅读这本精美的手册.正如作者所说:

"我从中得出的结论是,如果你理解Git是如何工作的,你只能真正使用Git.仅仅记住你应该在什么时间运行哪些命令在短期内会起作用,但是在你遇到困难或更糟糕的情况之前,只是时间问题.

"遗憾的是,Git上现有的一半资源只采用了这种方法:它们会指导您运行哪些命令,并且如果您只是模仿这些命令,那么您应该会做得很好.另一半确实经历了所有的概念,但从我所看到的,他们以一种假设你已经理解Git如何工作的方式解释Git."