git 基础命令

三个工作区域

使用Git之前,首先要弄清Git的三个管理区域,有助于理解Git的运行原理,以及每个Git命令对文件造成的影响。

对于任何一个文件,在本地的Git内部都有三种状态:

l 已修改(modified)
表示修改了某个文件,但还没有提交保存。包括新增、删除了一个文件,也属于已修改状态的一种。

l 已暂存(staged)
表示把已修改的文件放到了暂存区,也就是放到了下次提交时的清单中。

l 已提交(committed)
表示该文件已经被安全地保存在本地数据库中了。

三种状态对应着Git的三个区域:工作目录,暂存区域,以及本地仓库。

三种状态

工作区域就是我们对文件进行增删改的地方,是唯一对Git用户可见的区域,暂存区与本地仓库是Git对文件系统跟踪记录的存储区,对用户是透明的。

git三种状态

Git管理项目的过程就是文件频繁地在三个区域中流转的过程。

有了上面的概念,就等于拿到了进入Git世界的通行证,可以与Git来一次亲密接触了。

Git基础命令

首先,需要给Git建立一个基地,在你的电脑里给Git安排大展身手的舞台。说的这么高大上,其实就是建立个文件夹而已……

切换到合适的目录,新建一个文件夹,然后使用该命令将它初始化为一个Git仓库。

mkdir firstgit  
cd firstgit/  
git init 

然后,Git会提示:

Initialized empty git repository in/Users/winner/firstgit/.git/  

Git告诉你,已经将文件夹初始化为一个Git的空仓库。进入该文件夹下面查看会发现,多了一个名为“.git”的隐藏文件夹。里面包含这几项内容:

.git文件夹是存储Git元信息的地方,Git就是靠它来管理仓库中的所有文件,所以对这个“闲人莫进”的禁地看看就行了,千万不要手贱。

Git status

这个命令是会频繁使用的命令,可以查看当前工作目录下的Git仓库状态。会告诉你当前有哪些文件已经修改,哪些文件没有提交等信息。

就是说,在当前分支“master”上面(master是Git的默认主分支),初始化操作已提交,暂时没有任何待提交的东西。括号内还友善地告诉你,新建或者复制过来的文件,可以使用“git add”命令交给git来追踪。

git add

新建一个名为“readme.txt”的文件,使用“git status”查看状态:

Git告诉你,在master分支上,待提交的更改包括一个新建名为“readme.txt”的文件。“git add”命令是将文件放入暂存区,并没有提交到本地版本库。

然后Git又很友善地告诉你,使用“git rm –cached”命令可以将文件恢复到未追踪的状态。

git rm–cached

注意:这里所说的删除是从Git的追踪视野中删除,而不是在文件系统中删除。就算从Git的版本库中删除掉了该文件,它依然完好无损地存储在你的电脑里,只不过不会再被Git追踪罢了。如果想将该文件同时从Git版本库和文件系统中删除,去掉“–cached”参数即可。

Git commit

将readme.txt文件先放入暂存区,然后使用“git commit”命令提交到本地版本库。

git checkout –

Git告诉你,现在文件readme.txt已经发生了变化,使用“git add”命令可以将变化放入暂存区,使用“git checkout –”命令可以丢弃工作区的变化,将文件恢复到最近一次add时的状态。

Git reset

可见,该命令可以清空暂存区,但是不会影响工作区以及版本库。

命令中的“HEAD”参数指向当前工作分支的最新提交记录:

例如执行命令“git reset HEAD~1”之后,会发生下面的变化:

三个区域的流转

熟练掌握了上面的命令,就可以操控文件在三个区域中的流转,一个更全面的流转图如下:

git区域流转

总结如下:

l 从未追踪状态转换为被追踪状态:git add

l 从被追踪状态转换为未追踪状态:git rm –cache

l 将工作区的更改提交到暂存区:git add

l 清空工作区的更改:git checkout

l 将暂存区的更改提交到版本库:git cimmit

l 清空暂存区的更改及版本回退:git reset

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值