352262 发表于 2018-1-13 10:18:08

git-【二】本地git操作提交、版本回退

一、创建版本库,提交文件

  什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
  所以创建一个版本库也非常简单,如下是E盘 –> code目录下新建一个testgit版本库。
  打开git bash
  

cd E:/code/testgit  pwd
  


  1、git init 把这个目录变成git可以管理的仓库
  执行后,生成.git文件夹,这个目录是Git来跟踪管理版本的,不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏。
https://images2015.cnblogs.com/blog/292888/201705/292888-20170501210514804-271993461.png

  2. 把文件添加到版本库中。
  首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

  2.1、新建文件、提交【-m 之后是提交的注释】    
  

touch readme.txt  git add readme.txt
  git commit -m "readme.txt提交111111"
  


  2.2、查看文件是否提交
  

git status  

  如图,没有任何文件变化
https://images2015.cnblogs.com/blog/292888/201705/292888-20170501211700867-1668736701.png
  在文件中增加内容:“222222”,如图查看
https://images2015.cnblogs.com/blog/292888/201705/292888-20170501212647289-21764048.png  
  上面的命令告诉我们 readme.txt文件已被修改,但是未被提交的修改。

  2.3、查看不同
  

git diff readme.txt  

https://images2015.cnblogs.com/blog/292888/201705/292888-20170501212544773-1475774907.png
  如上可以看到,readme.txt文件内容从一行11111111改成 二行 添加了一行22222222内容。
  知道了对readme.txt文件做了什么修改后,我们可以放心的提交到仓库了。

  2.4、提交修改
  提交修改和提交文件是一样的2步
  

git add readme.txt  
git commit
-m "readme.txt提交222222"  

  注意提交前后状态,如2.2。

二、版本回退

  1.可以在文件内增加内容:“3333333”
  然后执行提交操作
  

git add readme.txt  
git commit
-m "readme.txt提交333333"  


  2、查看日志
  

git log  

  现在我已经对readme.txt文件做了三次修改了,查看历史记录【时间倒叙】
https://images2015.cnblogs.com/blog/292888/201705/292888-20170501213846336-80631008.png
  git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,333333提交.上一次是test.如果嫌上面显示的信息太多的话,可以使用命令
  

git log --pretty=oneline  

https://images2015.cnblogs.com/blog/292888/201705/292888-20170501214211914-758874700.png

  3、版本向后回退

  3.1、第一种
  上一个版本  
  git reset --hard HEAD^
  上上个版本  
  git reset --hard HEAD^^
  那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset–hard HEAD~100 即可。
  查看readme.txt内容:通过命令cat readme.txt查看
https://images2015.cnblogs.com/blog/292888/201705/292888-20170501214826351-1514947588.png
  查看log也是没有最近的一次了。

  3.2、版本号回退【任意前退,后退】
  

git reset --hard 版本号  


  3.3、查看所有版本号
  

git reflog  

https://images2015.cnblogs.com/blog/292888/201705/292888-20170501215315320-1802268164.png
  故版本回滚  
  

git reset --hard 0cd5af8  

  参考地址:http://blog.jobbole.com/78960/
页: [1]
查看完整版本: git-【二】本地git操作提交、版本回退