不要偷懒,学习 Git!
Git 简介🖧
为什么选择 git?
初始步骤
分支与协作
“我使用 git 时从来没有搞砸过”——从来没有人这么说过。
如果在软件工程师职业生涯初期就正确地学习Git ,那么它在未来几年里会为你提供很好的帮助!
大家好👋我是 Rishav,这是我的新文章系列,名为“Bookmark Devouring🔖🥩”,在这个系列中,我将清除所有平台上的所有书签,并在此过程中学习新事物并教你!
在本文中,我们将学习最流行的“版本控制系统”——git 。读完本文,你将对git的工作原理、可能遇到的问题以及如何解决这些问题有一个深入的了解。
让我们像Sasha一样吃个土豆,开始吧!
Git 简介🖧
Git 是一个分布式版本控制系统。好吧?让我来分解一下:
- 分布式意味着我们所有的代码,包括完整的更改历史记录都镜像在每个用户的计算机上。
- 版本控制系统跟踪项目文件、变更历史、支持分支、合并等。
还有一种不同的版本控制系统,称为集中式版本控制系统 (VCS)。所有代码都存储在服务器上,人们(客户端)从服务器拉取代码,进行修改,然后直接将修改推送到服务器。因此,无需与其他开发人员协作,只需与服务器进行连接。
我们使用 git 进行项目管理,并与其他开发人员进行高效、无错误的协作。存储代码更改历史记录并使用分支等功能有助于我们更好地协作,这是编程最重要的方面之一。
在了解为什么需要 git 以及它解决的问题之前,我们需要了解一些有关 git 的基本概念。
-
仓库:仓库是存储所有项目文件以及包含所有 git 记录的 .git 文件夹的地方。我们有本地仓库和远程仓库。本地仓库保存在我们自己的系统中,而远程仓库则托管在Github、Gitlab 等在线平台上。
-
提交:当您对代码进行更改或添加/删除文件时,您需要将更改提交到您所在的分支。您可以将其视为将您的工作保存在 git 历史记录中。
-
分支与合并:所有工作都在分支上完成。初始化 git 仓库后,所有内容都会保存在默认的Master 分支中。如果您想开发某些功能,但又不想弄乱主代码库,可以创建一个分支。开发完功能后,如果想将更改添加到 Master 分支,可以合并这两个分支。
-
暂存区:在提交更改之前,我们需要将其添加到暂存区。这会告诉 git 提交所有已暂存的更改。
为什么选择 git?
Git 很酷,但我们为什么需要它?我们将探讨退役调查兵团士兵萨莎转型科技行业的故事。
Sasha 是一名新手开发人员,被分配到公司的一个新项目。这是一个正在进行的项目,所以她把所有项目代码库和副本都放到了她的个人系统中,然后带回家。她兴高采烈地完成了所有分配给她的工作,之后带着项目副本回来了,里面有她自己做的修改。
但是还有其他新手,他们都被分配到这个项目,并且各自都有自己的更改。真是灾难!我们该如何解决这个问题?每个人都有不同的项目副本,所有这些更改都需要在主项目中完成。有些更改可能会与其他更改冲突,例如同一个文件的代码与实际的现场项目不同,而且有些文件可能会被新手删除,而我们并不需要这些文件。
与其他新手不同,Sasha 做了一些研究,发现了一个叫做 Git 的开源工具。她告诉其他新手,我们可以使用 Git 轻松地协作并将更改合并到主项目中。她还给每个人讲解了如何使用 Git。
初始步骤
Sasha 让大家回家,并教了他们一些基本命令。但在此之前,他们需要安装 Git。她给了他们这个链接。安装好 git 后,他们被告知要运行:
git init
在他们的工作目录中。这将初始化一个新的 git 仓库(又称目录或文件夹),git 将从这里开始记录更改。现在我们需要获取主项目的本地副本,该副本位于公共远程仓库(存储在 Github 上)。在这个远程仓库(我们称之为 repo 而不是 repository)的仓库网页上,我们将看到一个克隆其网页的链接:
复制此 https url 并运行:
git clone https://github.com/rjitsu/CSS-Cheat-Sheet.git
这将在我们的系统中克隆(下载)代码库。现在每个人都有了一份最新的项目副本,他们可以根据需要进行修改。
“但是怎么办呢?”一个新手问萨沙。
分支与协作
Git 有一个称为“分支”的功能,用于安全协作。当您创建一个 git 仓库,并在没有分支的情况下对其进行操作时,默认情况下,所有更改都会在Master 分支上进行。当您想添加一个功能,或者只是想单独工作,以便在出现问题时不影响 Master 分支时,您可以创建一个分支。操作方法如下:
git branch new-branch
这将创建一个新的分支。要查看所有分支,请运行:
git branch
这将列出所有仓库。但是 git branch new-branch 不会切换到新创建的分支,它只是创建一个分支。因此,要切换到该分支,我们使用:
git checkout new-branch
好的。现在我们有了一个新的分支。我们对代码进行了修改。现在我们要暂存它们并提交。要暂存所有文件,请运行以下命令:
git add .
“ .”表示我们需要将所有文件暂存到暂存区域。如果您只需要暂存某些特定文件,请git add
按照文件名进行操作。要提交文件并最终将其保存到历史记录中,请运行:
git commit -m "add all files"
-m 标志用于添加提交消息,该消息后跟提交消息本身。如果省略 -m 标志,git commit
将打开文本编辑器来添加提交消息。
您可以通过以下方式查看当前分支上的所有提交:
git log
热门提示🔥:使用
git log --decorate --oneline --graph --all
查看更干净、更漂亮的 git log 输出
现在我们将通过以下方式将代码推送到我们的分支:
git push
现在,你需要将你的分支合并到主分支。在此之前,你需要先检出到主分支。
git checkout master
运行之后:
git merge new-branch
这将在 git 历史记录中创建一个合并提交,并将您的分支合并到主分支中,这意味着您的所有更改(包括更改历史记录)都将添加到主分支中。
太棒了!你的分支已与主分支合并。但是所有这些更改都保存在我们的本地仓库中,与我们的主项目没有任何关联,主项目托管在 Github 上的一个远程在线仓库中 😱。
事实证明,我们在运行 时就已经与远程仓库建立了连接git clone
。git 中的一些命令就像一个由多个命令组成的列表,这些命令会逐个运行。例如,当我们运行 时git clone
,它也会运行这些命令。
git init
git remote add origin https://github.com/rjitsu/CSS-Cheat-Sheet.git
git pull origin master
现在通过以下方式推送所有更改:
git push origin master
这会将所有更改从本地主分支推送到源分支。
呼!
Sasha 向新手解释了这一切,因此他们都可以通过 git 在本地分支上轻松工作!
如果你读完了以上所有内容,那么恭喜你🎉。
总结一下,我们了解到:
- git 是什么,以及与之相关的重要术语。
- 如何初始化、添加、提交和推送到分支。
- 如何合并分支。
- 描述 Sasha👧 真实生活情况的 git 工作流程
感谢阅读。如果您喜欢这篇文章,也请关注我的其他文章!如需进一步了解,请阅读Atlassian
上的文档。