成为程序员的必经之路” Git “,你学会了吗?

前言

学会Git是我们走向程序员职业生涯的重要一步,今天在这里我和大家分享的是如何从小白的观点去理解Git这个东西!首先我们要知道Git是什么

之前博主已经写过Git三部曲了,它可以帮你基本的理解git命令的使用,但是还不够真正去面对面试官的深层次的问题,这篇算是加强篇,不侧向操作,但是侧向底层。推荐大家可以先去读第一篇,搞好git配置,再来听这个哟,不过都是很基础的,保证清晰易懂!

教你如何在vscode里玩转git操作(1)!!!(小白必看)

教你如何在vscode里玩转git操作(2)!!!(小白必看)

教你如何在vscode里玩转git操作(3)!!!(小白必看)

Git他是什么?

他是一个分布式版本控制系统 ,可以帮助你高效的管理项目变化历史,实现多人协作开发,将你的开发效率遥遥领先 !说的更加通俗易懂 的话就是它可以自动帮你去记录你每次文件版本的变化,不需要手动的去记录和合并每次代码的变化,如果你想看每次改动的版本和信息,也随时可以看到。如果后来发现某个版本更好,需要回退到呢个版本,Git也可以轻松帮你做到!!

学习Git的几个理由

  • 就如博主在上文提及的在面试中Git是默认作为你的一个基本功去提问的,所以它不允许你答错,换句话说这是我们必须要拿下的童子功
  • 管理个人项目,使用它可以更好的维护自己的项目,还可以参与开源项目的贡献,一起致力于开源
  • 进入到公司之后,开发项目需要用到Git协作开发

知道了所以然,让我们Git起来!

首先各位需要安装一个Git,然后配置全局用户名和邮箱

arduino 复制代码
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Git 中,通过配置全局用户名和邮箱,可以确保每个提交都有一个明确的责任人 。这样,团队中的每个成员都可以被识别,老板也可以清楚地知道是谁 提交了代码。这不仅有助于追踪代码变更,还能提高团队的透明度和责任感。

"Your Name" 替换为您的真实姓名或昵称,将 "you@example.com" 替换为您实际使用的邮箱地址。

之后我们开始介绍Git,下面有张结构图,描述 Git 的基本结构和工作流程。这将帮助您理解 Git 是如何管理和跟踪代码变更的。

Git结构

本地仓库 (Local Repository)

本地仓库是存储在您计算机上的 Git 仓库。它包含了项目的所有文件、文件的历 史记录以及暂存区等。本地仓库是您进行日常开发的主要场所。

主要组成部分:
  1. 工作目录 (Working Directory) :这是您进行开发的地方,包含了项目的文件和子目录。
  2. 暂存区 (Staging Area/Index) :这是用来准备下一次提交的地方。当您执行 git add 命令时,文件的更改会被添加到暂存区。
  3. 本地仓库 (Local Repository) :这是一个隐藏的 .git 目录,包含了项目的全部历史记录和元数据,大家可以自行在项目根目录下查看它,当然你需要进行git init 之后才可以看到。
远程仓库 (Remote Rep。ository)

远程仓库通常托管在服务器上,如 GitHub、GitLab、Bitbucket 等。远程仓库主要用于团队协作,允许多个开发者共享和同步代码。

Git的命令如此繁多,怎么去学习Git的命令?

很多人第一个学会的git指令想必都是 git add .,它当前工作目录中所有修改过的文件和新文件添加到暂存区,准备进行下一次提交。但是我希望你第一个认识的是git help,它可以帮助你学习git命令.

(上面只是部分还未截全),这说明了什么,说明了,git是存在内置文档的,你可以通过它去了解git的丰富指令 通过 git help xxx ,你可以获取任何 Git 命令的详细帮助信息,xxx可以是任何命令。 这里我们以git help add为例子

他直接给了一个网页版的说明文档,非常nice

为什么要分暂存区,仓库区这两个概念?

后悔药

我们知道世界上是没有后悔药可以吃的,但是这样的设计可以让你提交代码时有更多的灵活性和后悔的机会

  1. 暂存区 :允许你逐步添加和审查更改,确保提交的内容准确无误。在将更改添加到暂存区之前,你可以随时修改或撤销这些更改。例如,如果你发现某个文件不应该被提交,可以使用 git reset <file> 将其从暂存区移除。
  2. 仓库区 :一旦提交到仓库,更改就会被永久记录下来。如果你需要撤销某个提交,可以使用 git revertgit reset 命令。这提供了版本控制和历史记录的功能,确保每次提交都是有意义的。

通过这种设计,Git 让你在提交代码时有更多的控制和灵活性,减少了出错的风险。

分几次 add,然后一次性 commit

假设你在开发一个功能模块,需要修改多个文件。你可以分多次将这些文件添加到暂存区,然后一次性提交。这有助于你更好地组织和管理更改,因为你的每次commit都会生成独一无二的版本号 ,所以扽你将项目所需要的文件都添加到了暂存区之后,再 commit 才会方便你去记录每一次更新。 这里需要划重点

我们使用git log 是可以查看项目的提交历史记录,

注意呢个黄色的 是提交的哈希值,它一个唯一标识每次提交的字符串。 HEAD 它是 Git 中一个特殊的指针,指向当前分支的最新提交(即最近的一次提交)。他指向 master分支。如果不想看这么多信息,还可以用 git log oneline

他会十分的简洁,没有那些个人信息和时间记录! 我们回到 分几次 add,然后一次性 commit 这里,我来举个例子,如果你把暂存区当作砂锅 ,你要做菜,呢你肯定需要先把菜一个个分别 放进去,再炒出来出盘对吧。所以你把砂锅当作暂存区,仓库去就是盘子 ,你要炒一个辣椒炒肉,你肯定是先分几次去 add 菜进去,比如说:

  • git add 辣椒
  • git add 肉
  • git add 大蒜

然后再去 git commit -m '辣椒炒肉来啦!' 。这样理解是不是就很nice

通过分多次将文件添加到暂存区,然后一次性提交,你可以更好地组织和管理更改。每次提交都会生成独一无二的版本号,这有助于追踪和回溯项目的每一次更改。此外,这种方法还可以减少错误,确保提交的内容准确无误。

再介绍一下git的摄像头 git status

git status 是一个非常有用的命令,可以被视为 Git 的"摄像头",因为它能够实时拍摄并展示当前仓库的状态。通过 git status,你可以清楚地了解以下信息:

  1. 当前分支:你正在哪个分支上工作。
  2. 已修改但未暂存的文件:哪些文件已被修改但尚未添加到暂存区。
  3. 已暂存的文件:哪些文件已添加到暂存区,准备提交。
  4. 未跟踪的文件:哪些文件是新的且未被 Git 跟踪。

通过这个命令,你可以确保在提交代码前一切都在掌控之中,减少出错的风险,确保一切都在计划范围之内呀,嘿嘿!

END

看完本文之后,相信你对git的了解会更上一层楼,Git 不仅仅是一个工具,它是一种帮助你高效管理项目变化历史、实现多人协作开发的强大武器。无论是个人项目还是团队合作,掌握 Git 都将大大提升你的开发效率和代码质量呀!希望大家可以彻底掌握它

相关推荐
程序员奇奥1 小时前
京东面试题目分享
面试·职场和发展
理想不理想v2 小时前
【经典】webpack和vite的区别?
java·前端·javascript·vue.js·面试
不能只会打代码3 小时前
大学课程项目中的记忆深刻 Bug —— 一次意外的数组越界
java·github·intellij-idea·话题博客
沈小农学编程4 小时前
【LeetCode面试150】——202快乐数
c++·python·算法·leetcode·面试·职场和发展
清酒伴风(面试准备中......)5 小时前
操作系统基础——针对实习面试
笔记·面试·职场和发展·操作系统·实习
GDDGHS_5 小时前
“Kafka面试攻略:核心问题与高效回答”
分布式·面试·kafka
Web极客码15 小时前
如何修复WordPress卡在维护模式
服务器·网络·github
最近好乐19 小时前
TS入门——快速上手(一)
前端·javascript·面试
油泼辣子多加20 小时前
2024年11月17日Github流行趋势
github
海里有太阳21 小时前
gitHub常用操作
github