Git工作区介绍

1. 四个工作区域

Git 有四个工作区域:工作区域(Working Directory)、暂存区(Stage\Index)、本地仓库(Repository)、远程仓库(Remote Directory)
在这里插入图片描述

  • workspace:工作区,就是平时存放项目代码的地方。
  • Index/Stage:暂存区,用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息。
  • Repository:仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中一台电脑用于远程数据交换。

2. 工作流程[简单]

git的工作流程一般分为以下几步:

  1. 在工作目录中添加、修改、删除文件(modified);
  2. 将需要进行版本管理的文件放入暂存区(staged);
  3. 将暂存区域的文件提交git仓库(committed);
  4. 将本地git仓库修改推送到远程仓库;
    因此,git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)。

3. 文件的四种状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
GIt不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方式就是用SHA-1算法计算文件的校验和。
在这里插入图片描述

  1. Untracked:未跟踪,此文件在文件夹中但并没有加入到git库,不参与版本控制,通过git add 状态变为Staged
  2. Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,1. 如果被修改,而变成Modefied,2. 如果使用git rm移除版本库,则成为Untracked文件。
  3. Modified:文件已修改,仅仅时修改,并没有进行其他操作,这个文件也有两个去处,1. 通过git add可进入暂存Staged状态,2. 使用给git checkout 则丢弃修改内容,返回Unmodifiy状态,这个git checkout 即从库中去除文件,覆盖当前修改。
  4. Staged:暂存状态,执行git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified
    在这里插入图片描述
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将分支B上的readme文件检出到分支A,你可以使用以下命令: 1. 首先切换到分支A:git checkout A 2. 然后使用以下命令将分支B上的readme文件检出到分支A:git checkout B -- readme文件的路径 git diff命令可以用来比较文件在Git中的不同,具体分为以下几种情况: 1. 未缓存改动:当工作有改动但暂存为空时,diff对比的是工作与最后一次commit提交的共同文件;当工作有改动且暂存不为空时,diff对比的是工作与暂存的共同文件。 2. 已缓存改动:使用git diff --cached或git diff --staged命令可以显示暂存(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的差异对比。 3. 已缓存和未缓存改动:使用git diff HEAD命令可以显示工作目录(已修改但未add文件)和暂存(已add但未commit文件)与最后一次commit之间的所有不相同文件的差异对比。 4. 不同分支差异:使用git diff <分支名1> <分支名2>命令可以比较两个分支上最后commit的内容的差别。如果想要只显示每个文件的差异统计信息,可以使用git diff <分支名1> <分支名2> --stat命令 在Git中,工作指的是除了.git目录以外的部分,这个目录是Git的版本库。版本库中包含暂存(stage或index),默认创建的第一个分支master以及指向master的一个指针。所以工作中的文件是在版本库之外的,而包括暂存的文件在版本库之内 。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值