如今,软件开发以分布式方式进行。本文重点介绍一种支持分布式软件开发的技术,即 GIT 。
GIT 是关于什么的?
- Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。
- Git 依赖于软件分布式开发的基础,其中多个开发人员可以访问特定应用程序的源代码,并可以修改其他开发人员可能看到的更改。
- 最初由 Linus Torvalds 于 2005 年为 Linux 内核开发而设计和开发。
- 每个 git 工作目录都是一个成熟的存储库,具有完整的历史记录和完整的版本跟踪功能,独立于网络访问或中央服务器。
- Git允许一组人一起工作,所有人都使用相同的文件。它还可以帮助团队应对多人编辑同一文件时容易发生的混乱。
为什么要使用版本控制软件?
- 版本控制软件允许用户拥有项目的“版本”,显示随着时间的推移对代码所做的更改,并允许用户在必要时回溯并撤消这些更改。
- 仅此一项能力——能够比较两个版本或反向更改,在处理大型项目时就变得非常宝贵。
- 在版本控制系统中,更改将被及时保存——一个可以应用于一个版本的补丁文件,以使其与下一个版本相同。
- 所有版本都存储在中央服务器上,个人开发人员检出更改并将更改上传回该服务器。
Git的特点
- 对非线性开发的有力支持
- Git 支持快速分支和合并,并包括用于可视化和导航非线性开发历史的特定工具。
- Git 中的一个主要假设是,更改的合并频率高于写入频率。
- Git中的分支非常轻量级。
- 分布式开发
- Git为每个开发人员提供了整个开发历史的本地副本,并且更改从一个这样的存储库复制到另一个。
- 更改可以以与本地开发的分支相同的方式非常高效和有效地合并。
- 与现有系统/协议的兼容性
- Git 有一个 CVS 服务器模拟,它允许使用现有的 CVS 客户端和 IDE 插件来访问 Git 存储库。
4 .高效处理大型项目
- 与其他版本控制系统相比,Git非常快速且可扩展。
- 从本地存储库获取能力比使用远程服务器可能要快得多。
- 数据保障
- Git 历史的存储方式使得特定版本的 ID取决于导致该提交的完整开发历史。
- 一旦发布,就不可能在不被注意的情况下更改旧版本。
- 自动垃圾收集
- 当存储库中创建了足够多的松散对象时,Git 会自动执行垃圾收集。
- 可以使用 git gc –prune 显式调用垃圾收集。
- 定期显式对象打包
- Git 将每个新创建的对象存储为一个单独的文件。它使用将大量对象存储在称为 packfile 的单个文件(或网络字节流)中的包,这些包在它们之间进行了增量压缩。
- 为每个包文件创建一个相应的索引文件,指定包文件中每个对象的偏移量。
- 打包过程在计算上可能非常昂贵。
- Git 允许将昂贵的打包操作推迟到以后时间无关紧要的时候。
- Git会自动定期重新打包,但可以使用 git gc 命令手动重新打包。
GIT 是如何工作的
- Git 存储库是一个键值对象存储,其中所有对象都按其 SHA-1 哈希值进行索引。
- 所有提交、文件、标签和文件系统树节点都是存在于这个存储库中的不同类型的对象。
- Git存储库是一个大型哈希表,没有为哈希冲突做准备。
- Git专门通过拍摄文件的“快照”来工作
创建 GitHub 帐户:
- 转到 github.com 并输入站点上要求的所需用户凭据,然后单击 SignUp for GitHub 按钮。
2 .选择最适合您的计划。以下计划可供选择:-
然后点击完成注册。
帐户已创建。用户会自动重定向到您的仪表板。
- 创建一个新的存储库
- 登录到您的 Git Hub 帐户
- 在仪表板上单击绿色按钮,说明新建存储库。
- 确保通过进入创建帐户时提供的邮件来验证 Git 中心帐户。
- 验证完成后,出现以下画面
5. 首先提供存储库名称、描述(可选)并选择存储库的可见性和可访问性模式
6 .单击创建存储库
7. 现在创建了存储库(在本例中 ITE-304 是存储库)。可以创建存储库
将现有文件上传到 GitHub
- 系统中应该安装了 git。安装 git 请参考 https://git-scm.com/downloads。确保在安装过程中选择 Run git from Windows Command prompt 选项。否则打开 git bash 代替第 2 步。
- 打开终端(适用于 Mac 用户)或命令提示符(适用于 Windows 和 Linux 用户)。
- 将当前工作目录更改为您的本地项目
- 如图像中所述,以不同方式将本地目录初始化为 git 存储库。
在默认为 hidden的目录中创建一个新的 .git 文件夹。
在新的本地存储库中添加文件。这将它们暂存为第一次提交。
提交您在本地存储库中暂存的文件。
在 GitHub 存储库的快速设置页面顶部,单击显示的图标并复制远程存储库 URL。
在命令提示符中,添加将推送本地存储库的远程存储库的 URL。
将本地存储库中的更改推送到 GitHub。
给你……
Git 命令
- Git 和 Github 终极指南
- 有用的 Github 命令列表
使用 GIT 的公司和项目
- 微软、谷歌、Facebook、Twitter、LinkedIn、Netflix 等所有极客的知名和梦想的工作公司都在使用 GIT。
- 像 Ruby On Rails、jQuery、Perl、Debian、Linux Kernel 等开源项目都使用了 git。
深入学习 Git 的教程:
- https://www.atlassian.com/git/tutorials/
- http://www.vogella.com/tutorials/Git/article.html
- http://www.tutorialspoint.com/git/
- https://www.youtube.com/watch?v=Kp5BSBoOw8k
- https://try.github.io/levels/1/challenges/1
参考
http://www.tutorialspoint.com/git/
http://git-scm.com/docs/gittutorial
https://www.atlassian.com/git/tutorials/
Mudit Maheshwari 的文章:
来自 VIT 大学的 3 年级 B.Tech IT 学生,Vellore 对编码、学习新技术和开发软件有着浓厚的兴趣。除了对编码充满热情之外,他还喜欢弹吉他和唱歌。目前住在钦奈。您可以通过 mudit94@gmail.com 与他联系。
如果您还想在这里展示您的博客,请参阅 GBlog,了解 GeeksforGeeks 上的客座博客写作。