DevOps:Git 初学者指南
随着敏捷开发、精益开发和 DevOps 的出现,软件开发及相关方法论取得了长足的进步。如今,一切都围绕着自动化——以小规模、高频率、快速的发布方式进行,从而让功能和软件能够更快、更高效地触达目标受众。DevOps 已成为行业焦点,每位软件开发者都渴望了解更多现代软件开发方法和工具。“Git”就是这样一个工具,也是每位开发者的必备工具。
对于任何编写代码或参与 DevOps 项目的人来说,Git都是必备工具。在本文中,我们将讨论什么是 Git 以及与之相关的其他概念。
什么是 Git?
Git 由 Linux 操作系统的创始人 Linus Torvalds 开发。Git 是一个版本控制系统 (VCS),比其他版本控制系统更常用。从根本上讲,VCS 可以实现两件非常了不起的事情:
- 跟踪对文件所做的更改
- 它通过简化多人和团队的项目合作来增强协作。
Git 是一款在开发人员本地计算机上运行的软件。文件和历史记录存储在开发人员的计算机上。开发人员还可以使用 GitHub 和 Bitbucket 等在线托管服务来保存其文件和修订历史记录的副本。一个可以集中上传和下载他人更改的平台,使团队之间能够轻松协作。
Git 可以自动合并更改;这样,两个开发人员可以处理同一个文件的不同部分,然后合并更改,而无需等待对方并丢失彼此的工作。
为什么选择 GIT?
软件开发需要一组开发人员共同协作开发同一个代码库。为了避免这些开发人员之间的代码冲突,我们需要一个像 Git 这样的集中式版本控制系统。Git 可以帮助开发人员回溯到旧版本的代码库进行修改,例如修复错误或撤销代码更改。Git 的分支功能可以帮助开发人员并行处理多个功能实现或错误修复,并在准备就绪后合并这些更改。
使用 Git,您将能够看到其他人正在做什么、查看他们的代码、查看以前的更改、回滚到以前的代码以及做更多的事情。
如何获取 Git?
Git 通常在许多系统上默认安装。
-
您可以在此处下载适用于任何操作系统的 git 。
-
如果您喜欢使用图形用户界面 (GUI),请尝试GitHub Desktop (适用于 Windows 和 Mac)。
-
好吧,如果您想从头开始下载它,此链接有关于在多个操作系统上安装 Git 的详细信息。
Git 关键概念
Git 关键术语包括:
-
版本控制系统:Git 帮助在开发生命周期的不同阶段维护代码库的不同版本。它也被称为源代码管理器。
-
提交:当开发人员更改代码时,更改将保存在本地存储库中。每次提交都会在 Git 中保存更改/添加的文件的副本。
-
推送 - 将开发人员本地存储库中的最新提交发送到远程服务器,如 GitHub、GitLab 或 BitBucket。
-
拉取 - 这会从远程 Git 存储库下载所做的任何更改并将其合并到开发人员的本地存储库中。
-
SHA(安全哈希算法):这是赋予每个提交的唯一 ID。
-
分支:当您偏离软件开发主线并继续工作/编码而不干扰主/主开发线时。
GIT 在 DevOps 中的作用
DevOps 方法需要一个能够追踪所有变更的版本控制系统。Git 是一个分布式版本控制系统,允许开发人员在本地保存他们所提交内容的副本。GIT 作为 DevOps 工具,能够增强协作并缩短发布周期,而这正是 DevOps 概念的基础。
版本控制是 DevOps 的最佳实践之一。通过版本控制,项目开发人员可以对软件进行版本控制、共享、协作、合并和备份。
在大型组织中,多个团队共同完成同一个项目时,Git 非常方便,可以轻松跟踪每个团队所做的更改。它有助于跟踪代码、进行版本控制和有效管理代码。
任何愿意开始或将 DevOps 作为职业的人都应该从基础开始,而 GIT 是凌驾于一切之上的基本工具。
最受欢迎的 Git 解决方案
如今,每家公司都以某种方式依赖软件。组织中有许多开发人员负责多个项目,他们都需要一种跟踪、上传和接收代码库更改的方法。有效的存储库管理服务是快速高效软件开发的关键。基于 Git 的最流行的存储库管理服务包括 GitHub、Bitbucket 和 GitLab。
GitHub是一个基于 git 的仓库托管平台,最初由 PJ Hyatt、Tom Preston-Werner 和 Chris Wanstrath 于 2008 年推出。截至目前,GitHub 是最大的仓库托管平台,拥有超过 3800 万个项目。它授权托管和审查代码、管理项目以及构建软件。
Bitbucket也于 2008 年由一家澳大利亚初创公司推出,最初仅支持 Mercurial 项目。2010 年,Bitbucket 被 Atlassian 收购,并从次年开始支持 Git 托管,这已成为其目前的主攻方向。Bitbucket 现已成为家喻户晓的品牌,提供免费且无限量的私有代码库、Jira 和 Trello 等众多强大的集成,并内置持续交付功能。
GitLab于 2011 年作为一个小项目启动,旨在为现有的存储库管理解决方案提供替代方案。该公司于 2014 年才成立。GitLab 现在为组织提供完整的 DevOps 设置,涵盖持续集成和交付、敏捷开发、安全性等。
这是一份您一定会喜欢的基本Git 备忘单。
基本 Git 命令
-
安装 git
yum install git
-
查看已安装的 git 版本
git version
-
初始化 git 存储库
git init
-
检查 git 存储库的状态
git status
-
跟踪除 notes.txt 文件之外的所有文件
git add LICENSE README.md main.py ...
-
阶段性变化
git add main.py
-
提交更改
git commit -m "initial commit"
-
复制存储库
git clone username@host:/path/to/repository
-
设置用户特定的配置值,如电子邮件、用户名、文件格式等
git config --global user.email youremail@example.com
-
查看所有远程存储库
git remote -v
-
创建或删除分支
git branch
Git 是软件开发和 DevOps 领域最基本的要求。
本视频将带您了解 Git 的基础知识。
Git 和 GitHub 之间的区别
我们经常被问到的一个问题是 Git 和 Github 之间的区别。Git 是一种允许对代码进行版本控制的工具/技术,而 Github 是 Git 仓库所在的集中托管服务器。开发人员使用托管在 Github 上的远程仓库来共享他们的工作。Github 只是 Gitlab、BitBucket 等众多工具之一。
图片来源:TheServerSide
误区:Git 只适合软件开发人员
Git 不仅仅适用于开发人员。Git 适用于所有 IT 工作者——从系统管理员到解决方案架构师、软件工程师、团队负责人、项目经理——他们都应该学习和理解 Git 的工作流程。
随着基础设施即代码的出现,系统管理员和运营团队将使用 Git 来存储与基础设施相关的代码,例如 Terraform 配置文件、Ansible Playbooks、Vagrant 文件、支持 shell 脚本。
误解:GitHub 只是一个代码库/存储库
Git 不仅仅是一个代码仓库,它还是开发新软件的地方。如今,大多数热门项目都是在 Github 上开发的,例如 Kubernetes、Ansible、Terraform、Tensorflow 和 Helm Charts 等一些顶级仓库。所有这些项目都有基于 Github 构建的详尽文档。Git 工作流程的设计充分考虑了开发人员之间的协作。代码审查和审批都在 Github 上进行。Github 拥有一个项目仪表盘,可用于项目管理。
点击此处查看我们关于 Git 初学者的新课程
文章来源:https://dev.to/kodekloud/devops-git-for-beginners-33bc