Git 常见用法总结 && 常见回退命令

181 阅读2分钟

常见用法总结

常规操作,项目第一步就是克隆

git clone 项目地址
  1. 当你修改了内容想提交的时候,这个操作就叫做从工作区提交暂存区

1. 可以先用辅助命令查看一下,有多少个文件修改

git status

1.jpg 可以清楚的看到修改了哪些文件,同时也提示了我们使用 git add 提交

2. 提交暂存区

git add .   使用. 则全部提交
git add xxx    xxx 代表文件名,可以指定提交哪些文件 

3.提交本地仓库

git commit -m "xxxx"    xxx 代表你的修改描述

2.jpg 注意: 每次commit都会产生一条历史记录,历史记录的好处是方便版本回退

4.提交远程仓库(也是流程的最后一步了)

git push oirigin xxxx    xxx 代表你要提交的分支

3.jpg

这时候一个简单的流程就已经正常跑通了

常见回退命令

有的时候我们从工作区提交到暂存区想撤回该如何操作呢?(也就git add xxx 之后想回退)

4.jpg 通过辅助查看命令 git status 已经看到修改已经提交到暂存区了,简单来说,看到绿色就是代表已经提交暂存区了

1. 暂存区回退命令 (git add xxx 后的回退命令)

git reset head xxx   xxx代表要回退的文件名,不写则全部回退

5.jpg 此时再查看,会发现,文件会回到未git add 之前 6.jpg

2.提交到本地仓库怎么回退(也就是git commit -m "xxx"之后, 没有git push之前)

7.jpg 我们再提交一个6.txt的文件,通过git status 查看,发现该提交的已经提交,工作空间已经没有任何修改了,接下来是回退操作

git reset --soft head^  回退到暂存区(相当于你敲完git add xxx  的操作)

8.jpg 也可通过此命令来撤回

git reset --hard head^

注意此命令会删除你本次的提交,相当于删除了文件(需要自己多打一些命令来找回)

9.jpg 这时候是能看到6.tx文件的 10.jpg 可以看到最近的历史记录是提交5.txt文件时的记录了,6.txt已经是丢失了 11.jpg 找回命令

git reset --hard xxx   xxx代表版本号

获取版本号

git reflog
为什么使用reflog不使用log, 在文章最后有对他们的介绍

12.jpg 然后

git reset --hard 13ab599

13.jpg

14.jpg 可以看到6.txt文件已经被找回了

注意:上面提到的为什么使用git reflog 而不使用 git log 先看图吧

  • git reflog 15.jpg
  • git log 16.jpg git reflog 可以看到全部的历史记录,包括回退的
    git log 只能看存在的

如果想看存在的历史记录,建议使用

git log --oneline -xxx   -xxx 代表可以显示多少行历史记录,不写则全部显示

17.jpg