虽然这个系列的文章主要关注的是Github,然而首先了解下Git的基本概念和名词也是非常有帮助的。
工作目录(Working Directory)
工作目录是你个人计算机上的一个目录。在该目录下,每一个开发人员都有一套完整代码文件和相关文件的拷贝。在这个工作目录下的代码文件,Git就能自动进行版本控制。
Git文件
在工作目录中,您可能会发现一些额外的文件, .gitattributes和 .gitignore,这些用于告知Git如何处理文件夹中的文件。.gitattributes会告诉 Git 如何处理各种文件的比较操作。.gitignore指示 Git(基于扩展名) 的某些文件不应由 Git 处理。这些额外的文件会在后面的章节中进行更多的介绍。
图1 初始Git工作目录
当你创建一个 Git 仓库时,Git 会将这些文件( .gitattributes和 .gitignore)的默认版本添加到你的工作目录。你可以在现有的文件目录上创建一个 Git 仓库或是创建一个完全新的Git 仓库和工作目录。你还可以克隆现有的Git 仓库。一份克隆是一个完整的副本 (包括历史记录) 的Git 库。无论你怎么创建,现在都有了一个可以进行工作的Git库了。
克隆操作(Clone)
克隆是一个Git库的完整副本。例如,您可能会克隆了一份Git库,修复了一些 bug,然后向Git库提交代码。当然你需要对Git库具有写权限。
叉子操作(Fork)
叉子操作是从Git主库拷贝到你个人账户下的Git库,这样就不能直接对Git主库进行直接更新,而是先更新个人的副本,然后再提交一个拉请求(pull request),请求更改Git主库。这种功能经常用于开放源码项目,那里许多合作者帮助作者处理问题,但作者决定何时将它们包括在主分支。
拉请求(Pull Request)
拉请求是向Git库作者请求把你对叉来的Git库的更改合并到Git主库中。这个操作通常是由代码库合作者协助处理问题时使用。
分支(Branches)
一个分支是一套完整的库文件。Git 默认情况下将创建一个主分支。你可以创建更多的分支,在不会影响主分支的情况下,尝试更多的思路。
常见的分支可能包括︰
- 功能分支(Feature branch)︰ 一支致力于向代码库中添加新功能
- 发布分支(Release branch)︰ 用于计划下一个版本
- 主分支(Master branch)︰ 所有代码最终获取都合并到主分支
- 开发分支(Dev branch)︰ 活跃的开发分支,在代码正在工作
当然如何创建分支由你决定。然而如果很多合作者来参与项目,分支结构会令开发工作更加顺畅,并且不影响到主分支的构建,