Git那些事儿(一)什么是Git?作用是什么?

本文介绍了Git的基础知识,包括远程仓库、克隆、本地仓库、分支、提交、拉取、合并和推送等核心概念。Git作为代码版本控制工具,提供离线支持、便捷的分支管理和分布式特性,相较于SVN具有明显优势。了解这些概念和优点,有助于开发者更好地进行团队协作和代码管理。
摘要由CSDN通过智能技术生成

Git那些事儿------ 什么是Git?作用是什么?

接触Git以来,全部踩坑记录


前言

学IT的人,尤其是小白,最头疼的一件事就是,Git命令那么多,我到底应该怎么办,弄着弄着它就报错了! 在这里插入图片描述

别怕!最全的踩坑记,助你一臂之力在这里插入图片描述

首先,我们来简单说一下,Git,究竟是个什么神奇玩意儿?

一、Git是什么?

现如今,在各种规模开发中,Git已成为一种上上选择的代码托管技术,基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是基于Git来实现的。此文我们只简单介绍Git的基本使用。

Git可以帮我们做到很多的事情,比如代码的 版本控制分支管理等。

Git里面主要包含的几个概念有远程仓库克隆本地仓库分支提交拉取合并推送等。

1.1 远程仓库(origin)

远程仓库是指我们代码存储在服务器的地方,这个仓库是我们整个团队中所有人都可以访问的地方。可以包含很多子代码库,以及子代码库下的历代分支信息。

1.2 克隆(clone)

克隆只要是指什么呢?简单来说就是从远程仓库克隆到本地的过程,即将远程代码打包拉取到本地,在此基础上可以实现自己的本地仓库进行代码变更操作,并利用git push 等命。将本地代码提交到远程仓库下自己所属远程分支。

1.3 本地仓库 (dev)

上一概念中我们提到了本地仓库,本地仓库即我们开发人员从远程仓库克隆代码之后,保存在我们本地的代码(这份代码只有你自己能看到哦~)

1.4 分支(branch)

无论是大中小型开发,相对规范的代码开发,在开发中都会遇到多个分支进行,比如主分支(master分支),开发分支(develop分支),但我们开发的时候,一般不在master上面进行开发,而是我们自己从 master 或者开发分支中在分出来一条分支(比如test_branch分支),然后我们就在test分支上进行开发,每个分支都有自己的代码。
这里提示下,在我们创建分支的时候,首字母不要大写,这样会给我们的git带来困惑,导致我们在合并代码的时候必须使用强制覆盖,这是极其不方便的

1.5 提交(add、commit)

在我们结束本地代码编辑后,需要将代码推送到远程分支,确保你的代码在云端仓库,这就需要我们先提交本地到本地仓库,将修改的文件进行提交,并说明修改的内容。注意,此时代码提交只会提交到我们本地的仓库,远程仓库此时还不会修改。

1.6 拉取(pull)

在我们的开发过程中,同一个项目可能是多人协作开发,这个时候,我们就需要将别人修改的代码拉去下来合并到我们自己的代码中。但是如果不同的开发人员修改了统一部分代码,那么就可能发冲突,这时候我们需要解决完冲突时候,才能继续将代码进行提交。

1.7 合并(merge)

在上面我们自己的分支开发完成之后,没有问题之后,需要将我们的分支合并到主分支上面

1.8 推送(push)

之前的所有操作都是在我们本地进行的,远程仓库的代码并没有任何的改变,这个时候就需要我们将本地的代码推送到远程的仓库中,更新远程仓库代码。在推送的过程中,如果我们本地的代码不是最新版本的,就需要我们先将远程代码拉去下来(如果有冲突重新解决冲突,提交),然后在重新推送。

二、Git有什么优点?

相对于SVN而言,Git有很多优势:

2.1 本地化,支持离线

每个开发者都拥有自己的仓库,在自己的仓库可以执行任意行为,提交代码、创建分支、回滚历史、反复提交、归并分支等,且不会影响到其他开发者。

2.2 合并方便

Git分支使用指针,在同一目录下即可切换不同的分支,随便切,随便合并,且合并文件速度比SVN快。

2.3 分布式

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。我们需要一个代码管家,不间断运行,仓库下的成员都从这个“管家“仓库克隆拉取代码到本地,并且把各自的代码推送到“管家”仓库,也可以从“管家”仓库中拉取别人分支下的代码。我们可以自已搭建这台管家服务器,也可以使用GitHub网站(大厂则会使用自己的仓库)。能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

2.4 版本控制

可以记录文件的所有历史变化,当遇到错误时也可以根据需要回滚到任意历史版本,支持多人协作开发编辑同一个文件

2.5 分工协作

(接上述最后一点)如果同时有过2~N个任务,且同一个源代码。还要和别人合作!这时候git就可能帮你排忧解难了,你也可从任意成员的分支里得到项目的最新代码,完全不用经过中央服务器,不会对其他人照成影响。

三、Git的文件状态


在这里插入图片描述当前工作目录中可能存在的文件的状态变化图( 来自 git pro )


untracked:新建的文件状态为untracked,add命令执行后状态变为staged;
unmodified:已存在的文件状态为unmodified,修改文件内容,文件状态变为modified;
modified:修改状态,表示文件已被修改,但是尚未被提交(保存);
staged:暂存状态,表示是被标记了的被修改文件,在下次提交时会将所有标记过的修改保存。
在这里插入图片描述
下一篇来记录,使用Git的准备工作

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值