Git入门指南
介绍
版本控制系统
Git
让我们开始吧
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
目录
介绍

在这篇文章中,你将学习一个名为 Git 的版本控制系统。你还将能够区分集中式版本控制系统和分布式版本控制系统之间的区别。最重要的是,你将能够在个人项目、团队项目或社区项目中使用 Git。
版本控制系统
版本控制系统是一类软件工具,可以帮助您跟踪源代码的变更。这类软件会将代码的每一次修改记录在一个特殊的数据库中。如果出现错误,开发人员可以回溯到之前的版本,并与早期版本进行比较,从而在最大程度减少对团队成员干扰的同时,帮助修复错误。因此,使用这些软件的主要好处是:
好处
*随心所欲地让时光倒流
*记录一切
*擅长重塑事物并不断进化
集中式版本控制系统
集中式版本控制系统采用客户端-服务器模型。代码库只有一个(集中式的)主副本,正在开发的代码片段通常会被锁定(或“检出”),这样在任何给定时间都只允许一位开发人员处理该部分代码。对代码库的访问和锁定由服务器控制。当开发人员将代码检入时,锁定会被释放,以便其他开发人员可以检出。例如:
# svn
分布式版本控制系统
整个集中式版本控制系统的思路被彻底颠覆,每个协作者都将在本地计算机上拥有完整的代码仓库,即完整的版本历史记录、所有分支、标签和提交信息都存在于本地计算机上。我们没有中央服务器的概念,但可以将任何代码仓库配置为中央仓库,作为权威的数据源。例如:
# git
Git 和 SVN 的比较
| SVN | GIT | |
|---|---|---|
| 版本管理 | 中央 | 分布式 |
| 存储库 | 一个用于生成工作副本的中央存储库 | 本地可用的存储库副本,可以在其中处理文件和文档。 |
| 更改历史记录 | 仅在存储库中提供完整版本。工作副本仅包含最新版本。 | 存储库和工作副本包含完整的历史记录。 |
| 网络连接 | 需要访问权限 | 仅用于同步 |
Git
现在进入正题——Git!!!正如我之前提到的,Git 就像我们代码的时光机。我们可以随时回溯到程序生命周期的任何时刻。这都要归功于提交(Commit)功能。
犯罪

它代表了代码中的一个重要时刻,所以我建议大家提交每一个重要的添加内容(例如:函数、方法、类、测试……)。
它包含唯一的 ID、日期、作者姓名和电子邮件地址,而且这些信息都不能更改。
分支
分支可以按团队成员表示(每个团队成员都有自己的分支),也可以按代码版本表示(在同一个项目中,我们可以有两个分支,每个分支代表不同的逻辑和代码)。
让我们开始吧
1.配置
现在让我们打开终端(OS X、Linux 用户。Windows 用户需要下载Git Bash)。请确保已安装 Git。
git --version
然后配置您的电子邮件和用户名(更改您的用户名和电子邮件)。
git config --global user.name Gdahboy
git config --global user.email abderrahim.gdah@esprit.tn
2. 首先提交代码
,跳转到你的代码仓库并输入:
git init

现在我们将有三个仓库:你的工作目录(图中蓝色部分)、暂存区(棕色部分)和本地仓库(绿色部分)。它们当然都是逻辑仓库,实际上它们代表了使用 Git 的生命周期。每个文件都存在于蓝色部分中。如果你添加一个文件,就等于告诉 Git 你想持续跟踪该文件,因此每次修改都会保存在棕色部分。如果你提交了更改,这个修改将永久保留,你可以随时恢复它,因为它会保存在绿色部分。紫色(紫色仓库)代表 GitHub、GitLab 等平台,所有文件夹都会保存在那里。好了
,说了这么多,让我们提交一些东西吧!
抱歉,我需要提醒你,首先我们需要添加文件才能提交。
git add file.c file.txt ...
最后!!!!
git commit -m "first commit"
目前为止一切都很顺利。但是,我们如何才能知道一个文件是否被添加,或者 Git 是否在跟踪我们想要的更改呢?其实比我们想象的还要简单。
git status

再次强调,即使我们向暂存区(棕色仓库)添加文件并提交,之后的所有更改,在再次提交之前,都需要先添加该文件!!!
3.显示所有提交
git log
或者,信息量较少。
git log --pretty=one

4.回到过去!
现在,如果我们想让代码回到过去,我们可以这样做。
git revert c7aaab7e8efdb750da70a535fb393d1329173bf5
(c7aaab7e...)当然,这是随机提交的 ID,你需要将其更改为你想要的提交 ID(你可以从 git 日志中获取 ID)。
- 我们来创建一个分支。假设我们回头查看代码,发现一些不同的地方,你有两个想法,那么你可以从旧的提交创建一个分支,继承该提交中的所有代码。
git branch NameOfBranch
- 在分支间导航
git checkout NameOfBranch
- 把你的代码提交到 GitHub
git push origin master
总结
一下,我们需要添加一个文件来跟踪更改,然后提交它。新的想法是创建一个新分支。当然,Git 还有很多其他功能,我们甚至还没介绍到它功能的 10%(我们将在下一篇文章中介绍)。最后,我在网上找到了这个,我很喜欢它。它会对你很有帮助,并为你介绍许多新概念。请随时给我发消息。
