Git 教程学习--第二篇

一、工作区和暂存区

1.在电脑看到的目录就是一个工作区,比如上篇提到learngit文件夹就是一个工作区

2.版本库 

目录 .git 这个不算工作区而是Git的版本库。

Git版本库里的index暂存区,还有Git自动创建第一个分支master,以及master的一个指针叫HEAD

当我们把文件往Git版本库里添加的时候,是分两步执行:

第一步git add 把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。

二、管理修改

第一次修改-> git add ->第二次修改 ->git commit

Git 管理的是修改,当你用 git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是在工作区的第二次修改没有放入暂存区,所以, git commit 只负责把暂存区的修改提交了

第一次的被提交,第二次的修改不会被提交

提交后,用 git diff HEAD -- readme.txt 命令可以查看工作区和版本库里边最新版本的区别:

 第二次的修改确实没有提交

那怎么提交第二次修改呢

1.可以继续git add 再 git commit 

2.可以别着急提交第一次修改 先git add 第二次修改,再git commit ,相当于把两次修改合并后一块提交了

三、撤销修改

场景1:当你改乱了工作区的某个文件夹的内容,想直接丢弃工作区的修改是,用命令 git checkout -- file。

场景2:当你不但乱改了工作区的内容,还添加到了暂存区是,想丢弃修改,分两步,第一步用命令 git reset HEAC file ,就回到了场景1,第二步操作按场景1操作。

场景3:已经提交了不适合的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程。

四、删除文件

1.要从版本库中删除该文件, 用命令git rm 删掉。并且 git commit

2.如果是误删文件 可以把误删的文件恢复到最新版本 命令 git checkout -- file 无论工作区是修改还是删除,都可以“一键还原”。 注意只能恢复文件的最新版本,你会丢失最近一次提交后你修改的内容

原文地址:https://www.cnblogs.com/congxiu/p/7793268.html