我真的不清楚这里的语义。它们都是关于代码+历史单元的副本/变体,但过去我不确定我能说什么。这个逻辑结构是在某处解释的吗?
答案 0 :(得分:146)
存储库只是存储工作历史的地方。它通常位于工作副本的.git
子目录中 - 您正在处理的文件的最新状态的副本。
要分叉项目(在某个时间点从某人的存储库获取源代码,并对其应用您自己的不同更改),您将克隆远程存储库以创建它的副本,然后在您的工作中自己完成工作本地存储库和提交更改。
在存储库中,您拥有分支,这些分支在您自己的存储库中是有效的分支。您的分支机构将在您的存储库中拥有一个祖先提交,并且会因您的更改而与该提交分开。您可以稍后合并分支更改。分支允许您同时处理多个不同的功能。
您还可以跟踪远程存储库中的各个分支。这允许您从另一个人的分支中提取更改并将它们合并到您自己的分支中。如果您和朋友一起处理新功能,这可能很有用。
答案 1 :(得分:13)
我将用RTFM回答我自己的问题。
但是,请阅读this精细手册。正如作者所说:
“我从中得出的结论是,如果您了解Git的工作原理,您只能真正使用Git。仅仅记住你应该在什么时间运行哪些命令在短期内会起作用,但是在你遇到困难或更糟糕的情况下,只是时间问题。
“遗憾的是,Git上现有资源的一半采用了这种方法:它们会指导您运行哪些命令,并且如果您只是模仿这些命令,那么您应该会做得很好。另一半确实经历了所有概念,但从我所看到的,他们以一种假设你已经理解Git如何工作的方式解释Git。“
答案 2 :(得分:3)
This GoogleTechTalk是Git的精彩介绍,可以在学习语言的同时了解幕后实际发生的事情。它是由Git的早期撰稿人提供的,他在2007年将这个演讲作为介绍Git的一种方式。如果你看这个演讲,你不仅会知道每个单词是什么,比如知识库,分支,分支等,但是你也会知道在制作,合并等等的每个单词后面发生了什么。
地址很长但信息量很大。它还将Git与其他版本控制系统进行了对比,因此您可以深入了解为什么Git的创建方式以及它与其他控制系统相比的优势。尽管谈话已经过时,但起床和跑步非常有帮助。在我跳进手册之前我会看这个。我相信事情会更有意义。