Git使用的术语

时间:2011-08-16 09:32:47

标签: git

似乎我必须学会使用git。这可能是一件好事(TM)。 然而,阅读在线指南和手册页,我无法理解术语。一切都总是根据自己或其他无法解释的术语来定义(做一个“man git”,你明白我的意思)。

那么,是否存在更多类似DAG的术语定义结构,包括以下部分内容(均来自git手册页!)。也许使用文件系统作为起点,而不是假设读者精通svn(我不是)。

  • 回购
  • 存储库
  • a git
  • “the git”
  • 索引
  • 克隆
  • 提交
  • 分支
  • 上游
  • 一个头
  • HEAD
  • 版本
  • 标签
  • 档案
  • 补丁
  • 提交
  • 变更
  • 藏匿
  • 档案
  • 物体
  • 模块
  • 子模块
  • 的Refspec
  • 历史

虽然我可以找到一些解释,但它们通常是另一种解释。还有一些我从其他上下文中知道的术语(比如UNIX差异)。然而另一些我认为我知道...

我已经收集到存储库(类似于gits?和/或树?上游?),您可以复制(克隆?分支?)以将文件物理地存储到您的硬盘驱动器中。那么有分支(类似于变更集?),标签和提交(类似于补丁?),但它们的区别并不清楚。什么文件做什么修改?是什么让我的文件保持在本地,什么可能(天堂禁止)将我的代码提交给互联网?

当涉及分支,标签和提交时,推荐使用的工作方式是什么?因此可以轻松地在版本之间进行交换,并从公开可用的gits中导入更新。

// T,咬着舌头控制自己的沮丧......

6 个答案:

答案 0 :(得分:91)

答案 1 :(得分:16)

Git附带了您正在寻找的文档。

$ git help glossary

答案 2 :(得分:9)

我在学习如何使用git:http://progit.org/时发现这本(免费)书非常有用。这本书也以印刷形式存在。

我认为学习git的最快方法可能是拿一本书或教程来教你基本的概念和术语。

答案 3 :(得分:3)

学习Git的另一个好资源是Edgecase的Git Immersion。试图通过手册页学习Git可能非常困难,需要首先克服一个简短而陡峭的学习曲线。首先需要介绍DCVS(分布式版本控制系统)的概念。

@fulhack推荐的Progit也非常好。

我还强烈推荐Think Like A Git。这里对rebase的解释值得用黄金来衡量。

答案 4 :(得分:2)

我找到的最好的理解git是The Git Parable

  

想象一下,你的计算机上没有任何内容,只有文本   编辑器和一些文件系统命令。现在想象你有   决定在这个系统上编写一个大型软件程序。因为   你是一个负责任的软件开发人员,你决定需要   发明某种方法来跟踪你的版本   软件,以便您可以检索以前更改过的代码或   删除。以下是关于如何设计这样一个故事的故事   版本控制系统(VCS)以及这些设计背后的原因   选择...

答案 5 :(得分:1)

我想你可能会喜欢这篇文章:Git for Computer Scientists

使用git时要了解的另一个重要方面是工作流程。阅读这篇精彩的博文:Git branching model