Git工作区&暂存区&版本库(“三巨头”)、删除文件、撤销操作
2017-08-11 07:34
537 查看
工作区、暂存区(stage)、版本库
工作区:比如我的就是git1。
版本库:工作区里有个隐藏的.Git文件夹,这个奏是git的版本库
暂存区:Git版本库里一个很重要的部分。
以添加文件或者修改文件为例:
(1)git add就是把“工作区文件的修改”添加到“暂存区”;
(2)git commit就是把“暂存区的所有内容”提交到“当前分支”(目前为止我们都使用的都是git自动为我们建的master分支,分支之后再说)
好比吃饭:
我们先拿餐具挑选食物(对文件进行操作)--->塞到嘴里,吧唧吧唧(git add,存储在暂存区)--->跨擦!咽下去了(git commit)
如果,你对文件修改了没有git add,直接commit是不会提交更新的而且会报错(毕竟嘴里没东西,咽啥啊)。
如果,对文件修改了,然后git add了,之后脑子犯抽的再次修改了文件没git add,那么只会将之前add的提交(咽东西只会咽嘴里的啊,你筷子上有啥没卵用)。这个时候你跳转到这个版本就会发现第二次修改的东西不见了。
删除文件:[b]git rm <file>[/b]
删除文件和上文git add原理十一样的:“工作区文件的操作” ---> “暂存区” ---> “当前分支”
所以,首先我们先到工作区删除文件 ---> 然后,git rm <file> ---> 最后,git commit -m"***"
删除git1下的test2.txt文件,然后在控制台输入:git status 查看
输入:git rm test2.txt
(“删除操作”添加到暂存区成功)
输入:git commit -m“delete file test2.txt”
(删除操作成功,是不是so
easy。)
(๑乛◡乛๑):你会用吗?
撤销修改:
没add、没commit: 修改某个文件内容,想丢弃修改时,git checkout -- <file>。(直接扔掉修改)
已add、没commit: 先git reset <commit id> <file>,然后git checkout -- <file>。(先从暂存区中删除,在删除文件修改)
已add、已commit: 版本跳转
注意:git checkout -- <file> 中的“--”不要漏写了,不然就变成“切换分支”的命令了
我们首先先把删掉的文件撤销回来吧!
输入:git reset --hard fab70b (我这里commit id 只写了6位,记得加上 --hard 不然看不到test2.txt文件的)
修改test2.txt 文件(没add)。输入 git checkout -- test2.txt
修改test2.txt文件 ---> git add
然后撤销修改,输入:git reset fab70b3 test2.txt;再输入:git checkout -- test2.txt
文件删除的撤销操作是一样的,不演示了。
工作区:比如我的就是git1。
版本库:工作区里有个隐藏的.Git文件夹,这个奏是git的版本库
暂存区:Git版本库里一个很重要的部分。
以添加文件或者修改文件为例:
(1)git add就是把“工作区文件的修改”添加到“暂存区”;
(2)git commit就是把“暂存区的所有内容”提交到“当前分支”(目前为止我们都使用的都是git自动为我们建的master分支,分支之后再说)
好比吃饭:
我们先拿餐具挑选食物(对文件进行操作)--->塞到嘴里,吧唧吧唧(git add,存储在暂存区)--->跨擦!咽下去了(git commit)
如果,你对文件修改了没有git add,直接commit是不会提交更新的而且会报错(毕竟嘴里没东西,咽啥啊)。
如果,对文件修改了,然后git add了,之后脑子犯抽的再次修改了文件没git add,那么只会将之前add的提交(咽东西只会咽嘴里的啊,你筷子上有啥没卵用)。这个时候你跳转到这个版本就会发现第二次修改的东西不见了。
删除文件:[b]git rm <file>[/b]
删除文件和上文git add原理十一样的:“工作区文件的操作” ---> “暂存区” ---> “当前分支”
所以,首先我们先到工作区删除文件 ---> 然后,git rm <file> ---> 最后,git commit -m"***"
删除git1下的test2.txt文件,然后在控制台输入:git status 查看
输入:git rm test2.txt
(“删除操作”添加到暂存区成功)
输入:git commit -m“delete file test2.txt”
(删除操作成功,是不是so
easy。)
(๑乛◡乛๑):你会用吗?
撤销修改:
没add、没commit: 修改某个文件内容,想丢弃修改时,git checkout -- <file>。(直接扔掉修改)
已add、没commit: 先git reset <commit id> <file>,然后git checkout -- <file>。(先从暂存区中删除,在删除文件修改)
已add、已commit: 版本跳转
注意:git checkout -- <file> 中的“--”不要漏写了,不然就变成“切换分支”的命令了
我们首先先把删掉的文件撤销回来吧!
输入:git reset --hard fab70b (我这里commit id 只写了6位,记得加上 --hard 不然看不到test2.txt文件的)
修改test2.txt 文件(没add)。输入 git checkout -- test2.txt
修改test2.txt文件 ---> git add
然后撤销修改,输入:git reset fab70b3 test2.txt;再输入:git checkout -- test2.txt
文件删除的撤销操作是一样的,不演示了。
相关文章推荐
- Git学习(五)----Git工作区&暂存区&版本库(“三巨头”)、删除文件、撤销操作
- Git学习笔记二(版本回退、工作区和暂存区、撤销修改、删除文件)
- git patch的使用 &git怎样删除未监视的文件untracked files &git 撤销commit
- Git学习之路(4)- 撤销操作、删除文件和恢复文件
- git(工作区,暂存区,管理修改,撤销修改,删除文件)
- Git学习-工作区,暂存区,管理修改,撤销修改,删除文件
- 【Git】Git撤销操作、删除文件和恢复文件
- git-【四】撤销修改和删除文件操作
- Git简明教程--5.文件撤销和版本撤销操作
- Git 撤销操作、删除文件和恢复文件
- Git 教程----3.0时光机穿梭 3.1版本回退 3.2工作区和暂存区 3.3管理修改 3.4撤销修改 3.5删除文件
- Git 撤销操作、删除文件和恢复文件
- windows下git的安装、配置与操作(五)——文件的修改与删除
- Git进阶命令(一)(撤销删除操作)
- 解决SVN误操作--使用Git仓库中恢复已删除的分支、文件或丢失的操作
- git基本命令之删除撤销操作
- git如何撤销通过Add添加所有文件到缓存区的操作
- Git的工作区、暂存区和版本库之间的关系及其互操作
- Git 撤销文件删除
- Git撤销&回滚操作