Git官方教程:起步 - 关于版本控制

要对Git有个大框架上的认识,首先要明白四个区。

一 四个区

Git(一) —— Git架构:四个区

来源:Git使用教程,最详细,最傻瓜,最浅显,真正手把手教

① Workspace:工作区

② Stage:暂存区

③ Repository:本地仓库

④ Remote:远程仓库

主要的命令也都写在上面,要注意的是:

1) Repository需要手动更新,不然总是上一次fetch/clone拉取的内容。

2) Workspace的内容需要三步才能上传到Remote:

① add:从Workspace到Stage;

② commit:从Stage到Repository(需要附加说明);

③ push:从Repository到Remote。

 

应用 —— show diff

这个是Git官方教程中的图示:

Git(一) —— Git架构:四个区

来源:文件的三种状态

这里的working diretory,staging area和git directory分别就是之前说的Wordspace,Stage和Repository,这三个区域保存的文件分别对应三种状态:

已修改(modified):只是在当前Wordspace区中(已经Control+S),但是还没有add进Stage区中 ;

已暂存(staged):在Stage区中,还没有commit到Repository区中;

已提交(committed):已经commit,保存在Repository中了。(有没有push到远程仓库不重要)。

 

看一个命令:show diff

Git(一) —— Git架构:四个区

来源:管理修改 的评论区

实验一下:

动手试试看:写一个todolist.txt

① 写一个"3",保存

git add todolist.txt

git commit todolist.txt -m "the first commit"

 

② 写一个"2",保存

git add todolist.txt

 

③ 写一个"1",保存

不操作

 

根据之前知识,知道:

Git(一) —— Git架构:四个区

看三个 git diff指令的区别:

git diff:

Git(一) —— Git架构:四个区

很明显:区别是-2,+1,即Working区和Stage区的difference

 

git diff Head:

Git(一) —— Git架构:四个区

很明显:区别是-3,+1,即Working区和本地Branch区的difference

 

git diff --cached(注意有两个杠):

Git(一) —— Git架构:四个区

很明显:区别是-3,+2,即Stage区和本地Branch区的difference

所以,那张图是正确的:

Git(一) —— Git架构:四个区

当然,第一次git clone下来时,Stage区是空的,此时show diff显示的Workspace和Repository的区别。

 

 

相关文章:

  • 2022-12-23
  • 2021-11-05
  • 2021-11-25
  • 2021-08-25
  • 2022-12-23
  • 2021-05-16
  • 2021-05-27
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2022-01-15
  • 2022-01-17
  • 2022-01-21
  • 2021-11-02
  • 2021-09-15
相关资源
相似解决方案