前言
想从小白变成大厂大佬,学会使用git工具不可谓不重要。它不仅帮助开发者管理代码版本,还支持多人协作,确保项目的安全性和稳定性。无论是小型个人项目还是涉及数亿行代码的大规模工程,Git 都能提供强大的支持。
什么是git?
Git 是一个分布式版本控制系统,用于跟踪在软件开发过程中对文件的修改。它允许多个开发者协作工作,同时处理同一个项目,并且可以有效地管理代码的不同版本。
使用 Git 工具的主要意义包括但不限于以下几个方面:
- 版本控制:Git 可以记录每个项目版本的详细信息,允许开发者在任何时候返回到项目的任意历史版本。这对于项目回溯、错误修复和功能回滚非常有用。
- 分支管理:Git 支持快速便捷地创建、合并和删除分支。这使得团队成员可以在不影响主代码库的情况下独立开发新功能或修复问题,提高了开发效率和灵活性。
- 协同工作:通过支持多人同时对同一项目进行修改,Git 促进了团队协作。每个开发者都可以在自己的分支上工作,完成后可以轻松地将更改合并到主分支中。
- 备份与恢复:由于 Git 是一个分布式的系统,每个克隆的仓库都包含了项目的所有历史记录。这意味着即使中央服务器发生故障,任何一个本地副本都可以用来恢复整个项目的历史。
git基础操作
在我们安装好git的以后,首先要做的事是配置git,这里我们以vscode为例, 首先新建好文件夹,然后在集成终端打开,常用的指令如下:
-
配置个人信息
使用git config --global user.name "Your Name"和git config --global user.email "your.email@example.com"设置全局用户名和邮箱,这有助于团队成员识别提交者身份。 -
查看仓库状态
git status命令可以让我们了解到当前仓库的状态,包括哪些文件已经被修改但尚未提交,以及哪些新文件还没有被纳入版本控制系统。 -
初始化仓库
使用git init命令可以将当前目录转换为一个 Git 仓库,这是开始使用 Git 的第一步。 -
添加文件到仓库
将文件加入 Git 仓库通常需要三步: -
git add .:将所有修改过的文件添加到暂存区。 -
git commit -m "描述":将暂存区的更改永久化到仓库,并附带注释(描述) -
git push origin main:将本地仓库的更改推送到远程仓库的主分支(假设使用的是默认名称main)。 -
分支管理
-
git branch:列出所有分支。 -
git checkout [branch-name]:切换到指定的分支。 -
git merge [branch-name]:将指定分支合并到当前分支。 -
查看提交历史
git log命令可以显示所有提交的历史记录。为了使输出更加简洁,可以使用--oneline参数,每条记录只占用一行。 -
版本回溯
如果发现最近的一次或几次提交存在问题,可以通过git reset命令来回退到之前的某个版本。这种能力在开发过程中极为重要,尤其是在需要撤销错误更改或尝试不同的解决方案时。
暂存区和仓库的作用
了解了常用的git指令后我们需要理解暂存区和代码仓库的概念,Git 中的暂存区是一个非常重要的概念,它允许用户分批选择要提交的更改。这样做的好处在于,即使在一个复杂的开发周期中,也可以精确地控制每次提交的内容,确保每次提交都是有意义的。千万不要随便commit,一切commit都应该围绕开发需求,一般来说一个商务需要2~5次提交。
当我们将一个普通的文件夹变成一个 Git 仓库时,实际上是在该文件夹中创建了一个名为 .git 的隐藏目录,这里存放了所有 Git 需要的数据。每个版本的文件变化都会被记录在这个仓库中,就像一台“时光穿梭机”,允许我们在任何时候恢复到历史上的任意一个版本。
关于git的重要理解
-
添加到仓库是一件比较严谨的事情,我们使用
git commit -m ""指令时""内的注释一定要好好写,要规范且讲清楚任务。 -
有了暂存区和仓库相当于有了后悔药,同时为了简化操作,推荐分多次
add,然后一次性全部commit,这就好比你有一辆买菜车(git add多次) 买完了一口气运回来(git commit一次)。 -
git仓库里存的不仅仅只是文件,更重要的是存放了
文件的版本 -
git作为强大的开源工具,拥有非常完善的内置文档,如果想要学习其他git指令可以使用
git help。git help -a会列出所有的git指令,在vim编辑器内:j :k 上下翻页 :q 退出,如果你想深入了解某个命令,可以使用git help add
结语
Git 提供了一系列的功能来帮助开发者更高效地管理和维护代码。通过配置个人信息、初始化仓库、添加文件、提交更改、管理分支、查看提交历史以及版本回溯等基本操作的学习,即使是初学者也能快速上手 Git。 掌握这些基础知识和技巧,不仅能够提升个人的技术水平,还能促进团队之间的有效协作,为成为一名优秀的大厂开发者打下坚实的基础。