首页 > 代码库 > git学习笔记03-本地git常用操作及原理-文件增删改

git学习笔记03-本地git常用操作及原理-文件增删改

1、查看git状态 git status  这个可以告诉我们对git做了哪些操,比如增删改

技术分享

2、既然我们修改了东西,有的时候想看看修改了什么,毕竟我们的记忆力并不如电脑 git diff 文件名 (默认和暂存区比较、啥事暂存区后面说)

技术分享

3、修改了之后我提交了,我想看看提交的日志git log -- pretty = oneline  (后面这是格式化用的,可以不写)

技术分享

4、突然想起来我提交的这个有错误怎么办,我想恢复到之前的版本 git reset --hard HEAD^ ( HEAD^ 是之前一个版本, HEAD^^是之前两个版本 HEAD~100之前100个版本)

然后你可以用cat 文件名 查看你的文件是不是恢复到修改之前了

技术分享

5、后来发现其实这个错误并不是错误,我还想恢复到刚才那个版本 ,那刚才提交的那个commitid是多少呢,用到git命令日志操作: git reflog 查一下

(忽略上面那两个,是我后来截的图。add two files是我之前那个版本的前面有个7位数的commitid 复制下来)

技术分享

6、根据commiitid恢复到未来最版本   git reset --hard 7a363a0

技术分享

7、引用廖雪峰老师的:这是一个非常重要的概念

版本库(Repository)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

技术分享

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

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

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

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

提交之后就变成这样了。

技术分享

8、我又在我的文件上做了修改,改着改着我忘记我改了什么 我想看看和工作区和版本库的文件的区别 git diff HEAD -- 文件名

技术分享

9、发现我又弄错了,我想恢复到版本库的样子 此时

我的文件还没有git add 提交到暂存区 我可以 git checkout -- 文件名

我的文件已经git add 提交到暂存区 我要先 git reset HEAD 文件名 ,再进行上一步操作

如果源文件已经提交了版本,你可以根据之前说的恢复上一个版本 git reset --hard HEAD

技术分享

 

git学习笔记03-本地git常用操作及原理-文件增删改