欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Git仓库的创建和回退

程序员文章站 2022-07-13 17:22:01
...

仓库创建

  • git init 初始化一个仓库
  • git add
  • git commit -m

查看仓库状态

  • git status 查看仓库当前状态
  • git diff 查看修改内容

版本回退

  • git log 显示提交日志, git log –pretty=oneline 简洁的显示日志
$ git log --pretty=oneline
edfef899c3365a26d13681e03af6005a3153f163 (HEAD -> master) append GPL
10497110346c712cc452cd296cfdecd10fbd76d1 wrote a readme file

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,
当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
  • git reset 回退版本,HEAD^ 回退到上个版本,HEAD^^ 回到上上个版本。
$ git reset --hard HEAD^
HEAD is now at 1049711 wrote a readme file
回到指定commit id版本
$ git reset --hard edfef8
HEAD is now at edfef89 append GPL
  • git reflog 记录每一次的命令
$ git reflog
edfef89 (HEAD -> master) HEAD@{0}: reset: moving to edfef8
1049711 HEAD@{1}: reset: moving to HEAD^
edfef89 (HEAD -> master) HEAD@{2}: commit: append GPL
1049711 HEAD@{3}: commit (initial): wrote a readme file

回退原理

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL:

Git仓库的创建和回退

小结

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。