git基础-程序员必须掌握的技能

144 阅读6分钟

前言

git作为一个开源的分布式版本控制系统。是由Linus Torvalds 在 2005 年为了更好地管理 Linux 内核开发而创建。其设计目的是为了提高速度、数据完整性以及支持非线性开发模型。

学git的目的

当我们想去大厂工作时,首先受到来自面试官的压迫感。而关于git的基础作用就是其中必考的一点。git是大厂程序员的必备技能,如果连git操作都不会。那么在工作时提交代码,完成项目的效率就会很低。

另外,在我们工作中偶尔会碰到电脑损坏的时候,此时如果我们用git提交保存了代码,那么会保存代码的版本,而且非常安全,电脑损坏也不会对代码造成影响

因此,我们必须学习git。接下来,我们将正式开始介绍git的相关操作。

内置文档

当我们想进行一个操作但不知道对应的命令,或者对命令的作用不是很明确时,我们可以输入git help此时,程序会弹出以下内容:

image.png 这里包含了git中所有命令。我们可以从中找寻自己所需要的。

git中有内置的vi编辑器,我们可以通过长按J,K进行上下翻页,按q退出程序

在输入git help -a时候,程序会列出所有命令的名单

image.png 再往下走想深入了解某个命令,输入git help add ...这里我们以config为例子,此时会进入这样的页面

image.png 我们可以从中查询自己需要的。

能进行这样操作的原因是因为git有内置文档,可以直接在程序页面就使用。

所以当面试官问你:你是如何了解git命令的作用和参数的?

我们不要单纯的回复:一些命令类似git add的答案

而是要回答:我使用git help内置文档去帮助我的学习

代码仓库

这是git中非常重要的一个理解。

一个程序进入代码仓库需要三个步骤:

文件夹 -> 开发目录(网站) -> 代码仓库() 这样做的好处有什么呢?

项目代码的版本(version)。 git关注的是代码的版本

时光穿梭机 文件的任意版本 有时候我们要回退。

那么,当面试官问你仓库里的是什么时。

不要傻傻的回答:文件!如果这样做了,大概率已经挂了。

注意!!仓库里并不是文件,而是文件的版本!,因为git关注的就是代码的版本。

仓库的由来

那么问题随之而来,代码仓库是如何形成的呢?、

答案是你意想不到的简单:

当我们初始化git时git init,会出现一个.git目录,这就是我们需要的代码仓库。

我们添加的git相关内容就放在.git目录中。

重要操作

git中命令的重要性也有高低之分。我们来讲一个相对重要的操作。

git config

这在公司里是非常重要的一个命令,大家都有自己对应的工作内容,而git config配置 操作留下了责任人 ,具有多人协作的思想。这样当各人提交自己写的内容时,老板就可以知道是谁提交的代码。我们可以这样配置

    git config --global user.name ""
    git config --global user.email "" 
    本地 远程 比对
   配置, --global 全局 

想要查看信息输入正确了没,我们可以输入git config --list 可得到这个页面

image.png 这样就可以看到自己输入的信息对不对了。

git status

这个是最重要的一个命令了,也是我们最常用的一个。

让我们了解当前仓库的状态,摸鱼后还能人间清醒

若有文件没有及时上传,会显示

image.png

on branch main 在主分支上 默认分支
untracked files 未追踪的文件 还没有纳入版本管理

此时我们用git add ..加文件后,则会显示

image.png

changes to be commited:文件被添加至暂存区,但并未提交。

因为添加到仓库是一件比较严谨的事情。

     - git add file 
      将文件的当前版本 先添加到暂存区 
为什么需要暂存区,仓库两个概念

有后悔药可吃:当我们写了多个版本进入暂存区,但我们最后只能交一个最好的版本,如果没有暂存区直接提交了,删除起来会很麻烦。因为有了暂存区,我们只需输入git restore即可删除。

分几次add,然后一次性commit

就像我们进货 , 一辆菜车(git add 多次) 买完了 (git commit 一次) 买好菜了。

git log --oneline

可以看我们的代码提交记录:

image.png

拓展

高级技巧与实践

对于大公司或大型项目来说,除了上述基本操作外,还需要掌握一些高级功能,比如:

  • 标签管理git tag 创建标签,用于标记重要版本。

  • 冲突解决:当合并分支时发生冲突,需要手动解决。

  • 分支策略:例如使用Feature Branch Workflow或者GitFlow等不同的工作流模式来管理项目的开发周期。

  • 钩子脚本:利用.git/hooks目录下的脚本实现自动化流程,如在提交前自动运行测试。

结语

掌握这些基本git用法,使我们可以快速的加入团队编程中,快速入门git。利于我们以后的发展,希望大家从中收获一些什么...