今天,我们来介绍一下git的一些命令行,来帮我们后面可以面对一些情况的时候,我们可以有一些解决的方法
1.git查看历史记录最全的命令行
git log --pretty=raw
2.对于一下的几个情况,我们一般采用的操作流程:
1)如果修改某一个文件(没有git add),想要撤销这次修改
git checkout b.txt
如果不写文件名,我就是把所有的已经修改文件全部撤销
2)如果修改某一个文件(git add已存在暂存区),想要撤销这次修改
git reset a.txt
3)如果已修改某几个文件,但是想撤销到某个版本,但是当前暂存区,
工作区不想撤销
git reset --soft commitId(这个用的不多)
4)如果修改了某几个文件也提交到了暂存区,想撤销到某个commitId
git reset --hard commitId
3.如果你对一个文件进行修改,你把它add到了暂存区里面之后,然后你又对
这个文件进行了修改,此时,你的修改有在工作区里面的修改以及暂存区里面
的修改,但是,如果你此时想要对回滚到上一次的commit的时候,而且保证
此时的工作区以及暂存区的修改没有变化的话,我们可以这样操作:
git reset --soft head^
4.(这一点不是很常见,不需要多理会这个)
git stash,将修改存储其阿里,也没有提交
git stash pop 打开修改,状态体现出来
5.关于git的版本回退机制
使用情况:当你对一个版本进行了修改,并且add.以及git commit了之后,如果你想回退这个版本的记录
1.git log(查看历史提交记录,特此说明一下commit的message真的很重要)
2.在git log里面查找到我们想回退的记录,我们可以使用git reset --hard commitId即可
3.回滚成功,突然发现自己还想回去到刚才的版本,可是我们查看git log已经看不到原来的记录了
4.git reflog查看记录,最好加上自己的版本,如果我们是在dev的开发版本上进行修改的
git reflog show dev,然后就可以看到自己的版本,从上到下是从自己最近到一起的记录
5.进行回滚,找到自己的回滚的记录,然后可以使用git reset --hard dev@{1},此时就可以像回滚到版本即可
注意:此时的这个回滚记录我们可以根据自己前面提交的message来判断,我前面提交的message是"2017-5-14"
所以我只需要输入 git reset --hard dev@{1}即可
同理,日志也是回退到那个版本
6.git checkout的方法(一些回滚的方法)
git checkout . 把所有没有在暂存区里面的数据进行回滚
git checkout fileName 把文件名fileName的里面没有静茹到暂存区里面的数据进行回滚
git checkout 目录