之前的文章我们学习了git本地操作相关的命令:git init、git status、git add <file>、git commit (-m <describtion>)、git diff、git log,具体可以通过链接查看GIt本地相关操作(一),接下来我们继续学习git本地操作相关的命令。
一.基于本地仓库进行修改
-
git管理修改
我们来进行如下图展示的操作:
首先我们进入/opt/studygit目录下,对introduce.txt文件进行修改,具体命令root@quietor-virtual-machine:~# cd /opt/studygit/ root@quietor-virtual-machine:/opt/studygit# pwd /opt/studygit root@quietor-virtual-machine:/opt/studygit# ll 总用量 16 drwxr-xr-x 3 root root 4096 8月 28 22:46 ./ drwxr-xr-x 4 root root 4096 8月 28 00:44 ../ drwxr-xr-x 8 root root 4096 8月 28 22:47 .git/ -rw-r--r-- 1 root root 280 8月 28 22:46 introduce.txt
修改introduce.txt文件的内容如图所示:
修改introduce.txt文件以后,我们执行git status、git diff、git add <file>,如图:
我们继续对introduce.txt文件进行修改,重复上述步骤,修改:
执行git status、git diff、git add <file>命令,如图:
现在我们执行git commit (-m <describtion>)命令,如图:
我们会发现,最后一次编辑的内容并没有随着git commit 执行而提交到本地仓库中去
-
小结
我们操作的大体流程是:修改--->git add-->再次修改---->git commit
git commit命令,会只提交最近一次git add 命令提交的文件修改内容到本地仓库中,即使中间有多次修改,只以最后一次执行git add命令所提交的修改内容为准,本文中笔者使用的是同一个文件,不同文件也是如此。
-
git文件存储结构
git管理文件总共分为三块空间:工作区、本地版本库、缓冲区,远程仓库
工作区:本地电脑的上的一个普通目录
本地版本库:git在本地的一个管理文件的文件仓库
缓冲区:git本地仓库的一部分,用于存储要提交到本地仓库的文件修改数据
远程仓库:远端存储git管理的文件仓库,可以多个本地仓库进行连接,通过git push、git pull与本地仓库进行文件同步
具体关系如图:git add把文件添加到stage缓存区,git commit把缓存的数据再提交到当前使用到的分支,图中dev和远程仓库我们在后续的学习中涉及到,这张图大家先了解下(图是具体自己实际操作和网上大家分享的,自己总结的,如果有理解错误的,请大家及时指出),通过了解git文件管理结构,我们能区分git add、git commit命令的各自的作用,以及理解git commit会只提交最后一次git add命令提交的文件改动到本地仓库的原因。
-
git删除文件
创建一个格式文件,并提交到git仓库中,如图:
从git上删除一个文件:
第一步,删除本地文件 rm <file>
第二步,删除git上文件 git rm <file>
第三步,提交更改上面的操作我们会发现,没有执行“git add”,笔者的理解是提交stage区的操作应该不只有“git add”,“ git rm ”操作应该也是提交stage区的操作,至于还有没有其他操作,笔者限于时间没有去详细了解,后续有机会会单独总结,也请大家有了解的,可以分享出来。
二.基于本地仓库进行撤销
本地文件撤销(修改文件内容未执行git add命令)
使用“git checkout -- <file>”来撤销相关的修改,如图:暂存区进行撤销(已经执行了git add命令)
第一步:执行“git reset HEAD <file>”命令,来撤销移交到暂存区的数据
第二步:执行“git checkout -- <file>”撤销本地文件的相关修改,
如图:-
删除文件撤销
只删除本地文件(没有执行git rm <file>),应该很简单也是执行“git checkout -- <file>”
删除文件提交到stage区(执行了git rm <file>),撤销
三.总结
新的git命令
git rm <file>
git checkout -- <file>
git reset HEAD <file>-
git本地管理文件空间的方式
理解git管理文件的方式,这样能帮助我们理解git命令
上一节:GIt本地相关操作(一) 下一节:Git连接远端仓库
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。