Git学习-Git基础

一、基本概念

Git使用过程中,经常提到工作区、暂存区等基本概念,那么它们都是些什么玩意儿呢?

在本地生成一个git管理的项目之后,我们会对项目内的文件修修改改,此时我们显示的看到的项目文件就是在工作区内,通俗点儿理解就是我们整个项目最上层的文件夹下就是一个工作区

在工作区中,有一个.git文件夹,里面包含了git版本管理的一些东西,具体有什么可以前往官网查看,里面有个东西叫暂存区(stage),还有git自动创建的第一个分支master,暂存区可以理解为保存修改的中间结果的地方,我们的修改从工作区发生,最终目标是要将修改保存至master或者其他分支,而暂存区就位于这条逻辑链路的中间,因为大多数情况下,我们不会一次就修改满意,所以将不同版的修改暂存起来,是很有意义的东西。

Git学习-Git基础_第1张图片

 

二、理想的使用路径

假设我们现在有个git仓库并且已经和远端仓库建立连接,现在我们想象可能的使用场景:在工作区修改我们的代码,修改完成,我像要把我的修改保存并且推送到远端。这一情景,git的使用路径如下:①工作区修改->②保存到暂存区(git add)->③保存到本地master(git commit)->④推送到远端master(git push origin master)

假设我们只修改了一个文件test.php 那么完整的命令就是

git add test.php 

git commit -m 'desc' (-m 对这次commit的描述)

git push origin master

 

为什么说这是一条理想的路径,因为在实际使用过程中,你可能会遇到各种各样的报错,这也报错也很正常,后续将一一列举。还有一点是,加入我非常明确我对test.php的改动是我的最终版,我一定会保存下来的,那么可以直接跳过git add,直接git commit -a -m 或者缩写git commit -am,当然它不是真正跳过了git add ,而是自动执行了git add。

三、文件在git管理下的状态转换

文件在git管理下有两种大的状态,untracked(未跟踪),tracked(已跟踪)。什么叫未跟踪呢,就是git没有对该文件进行过版本管理,例如在已有的git管理的项目中,新增一个文件,这个文件的初始状态就是未跟踪。相对应的已跟踪则不难理解。

tracked(已跟踪)具体又分为unmodified(未修改)、modified(已修改)、staged(已经放入暂存区),这些状态词经常出现在git status下。

Git学习-Git基础_第2张图片

 

你可能感兴趣的:(Git学习-Git基础)