git使用工具之版本修改、撤销操作
git工作区和暂存区
内容仅是在我个人的理解下所描述的,如果存在什么差错,很乐意接受大家的指点。
参考链接:http://www.liaoxuefeng.com
我理解的工作区,就是我们的文本文档未提交前,我们所进行操作的页面,对项目或者工程在上一个版本的基础上进行更改,或者建立新的文件,在新的文件里面展开新的工作。此时还未git add操作。
暂存区就是我们把更改或新建的文档添加到仓库(status),此时再进一步的git commit,文件就被提交到当前分支上。
创建git 版本仓库时,git 自动为我们创建唯一一个master分支。
通过图形表示:
1)、文本文件git add 前的状态:
2)、文本文件在暂存区的状态:
3)、Git commit 之后,暂存区内的内容消失,转移到当前分支master下了:
4、git commit只负责把暂存区的修改提交给当前的分支master
5、git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
6、更改一个文件,当它还没有被添加到暂存区又或者没有被提交时,可以通过git status 显示当前仓库的状态,然后输入git checkout -- filename就可以丢弃工作区的修改。使之退回到最近一次git commit或git add时的状态。
注:git checkout 后面的--必须写,没有--时就语义就成了将其切换到另一个分支
Git checkout -- file 其中filename与--之间必须有空格
当没有执行git add readme.txt就进行撤回时,可以完成
7、当文件已经执行了git add 存放到了暂存区内了,但还没git commit 时,撤回修改的方法。
步骤:
git status//查看当前的状态
Git reset HeAd filename.txt//把暂存区的修改撤销掉(unstage),重新放回工作区
Git status//再次查看当前状态