前言:
什么是git?
- Git 是一个分布式版本控制系统,用于高效地管理文件的版本变化。它最初是由 Linus Torvalds 为 Linux 内核开发的版本控制工具,现在已经成为软件开发领域最流行的版本控制工具之一。与传统的集中式版本控制系统(如 CVS、Subversion)不同,Git 的分布式特性使得每个开发者的本地计算机都拥有完整的版本库副本,包括代码的完整历史记录。
- 他是一个分布式版本控制系统,可以帮助你高效的管理项目变化历史,实现多人协作开发,将你的开发效率遥遥领先!说的更加通俗易懂的话就是它可以自动帮你去记录你每次文件版本的变化,不需要手动的去记录和合并每次代码的变化,如果你想看每次改动的版本和信息,也随时可以看到。如果后来发现某个版本更好,需要回退到呢个版本,
Git也可以轻松帮你做到!!
基本配置
首先各位需要安装一个Git,然后配置全局用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
在 Git 中,通过配置全局用户名和邮箱,可以确保每个提交都有一个明确的责任人。这样,团队中的每个成员都可以被识别,老板也可以清楚地知道是谁提交了代码。这不仅有助于追踪代码变更,还能提高团队的透明度和责任感。
将 "Your Name" 替换为您的真实姓名或昵称,将 "you@example.com" 替换为您实际使用的邮箱地址。
git结构
本地仓库 (Local Repository)
本地仓库是存储在您计算机上的 Git 仓库。它包含了项目的所有文件、文件的历 史记录以及暂存区等。本地仓库是您进行日常开发的主要场所。
主要组成部分:
- 工作目录 (Working Directory) :这是您进行开发的地方,包含了项目的文件和子目录。
- 暂存区 (Staging Area/Index) :这是用来准备下一次提交的地方。当您执行
git add命令时,文件的更改会被添加到暂存区。 - 本地仓库 (Local Repository) :这是一个隐藏的
.git目录,包含了项目的全部历史记录和元数据,大家可以自行在项目根目录下查看它,当然你需要进行git init之后才可以看到。
远程仓库 (Remote Rep。ository)
远程仓库通常托管在服务器上,如 GitHub、GitLab、Bitbucket 等。远程仓库主要用于团队协作,允许多个开发者共享和同步代码。
基础命令:
对于想要自主学习的小伙伴我推荐使用一个极其强大的命令git help
(上面只是部分还未截全),这说明了什么,说明了,git是存在内置文档的,你可以通过它去了解git的丰富指令 通过 git help xxx ,你可以获取任何 Git 命令的详细帮助信息,xxx可以是任何命令。 这里我们以git help push为例子
如上图所示,该命令会直接帮助我们的计算机弹开一个网页界面,内容信息就是对git push这个git操作的详细解释
暂存区
- 在 Git 中,暂存区(Staging Area)是一个位于工作目录和本地仓库之间的中间区域。它的主要作用是允许开发者精确地控制哪些修改会被包含在下一次提交中。
- 暂存区:允许你逐步添加和审查更改,确保提交的内容准确无误。在将更改添加到暂存区之前,你可以随时修改或撤销这些更改。例如,如果你发现某个文件不应该被提交,可以使用
git reset <file>将其从暂存区移除。 - 仓库区:一旦提交到仓库,更改就会被永久记录下来。如果你需要撤销某个提交,可以使用
git revert或git reset命令。这提供了版本控制和历史记录的功能,确保每次提交都是有意义的。
通过这种设计,Git 让你在提交代码时有更多的控制和灵活性,减少了出错的风险。
分布提交
通过暂存区这个方式,我们可以将完成的代码分成多次add进行提交,避免提交错误的代码,造成不必要的麻烦。这有助于你更好地组织和管理更改,因为你的每次
commit都会生成独一无二的版本号,所以扽你将项目所需要的文件都添加到了暂存区之后,再commit才会方便你去记录每一次更新。 这里需要划重点
我们使用git log 是可以查看项目的提交历史记录,
注意呢个黄色的是提交的哈希值,它一个唯一标识每次提交的字符串。 HEAD它是 Git 中一个特殊的指针,指向当前分支的最新提交(即最近的一次提交)。他指向 master分支。如果不想看这么多信息,还可以用 git log oneline
git status
git status是一个非常有用的命令,可以被视为 Git 的“摄像头”,因为它能够实时拍摄并展示当前仓库的状态。通过git status,你可以清楚地了解以下信息:
- 当前分支:你正在哪个分支上工作。
- 已修改但未暂存的文件:哪些文件已被修改但尚未添加到暂存区。
- 已暂存的文件:哪些文件已添加到暂存区,准备提交。
- 未跟踪的文件:哪些文件是新的且未被 Git 跟踪。
总结
学会 Git 后,你可以精确地追踪代码的每一次修改。通过查看提交历史,包括每个提交的作者、时间戳、提交说明等信息,能清楚地了解项目是如何演进的。例如,在一个软件开发项目中,当出现一个新的 Bug 时,你可以通过git log命令查看代码历史,追溯到可能导致问题的修改,帮助快速定位和解决问题。