Git-3

1,关于版本的回退和向前

  • git log 查看修改版本库的记录 ,可以知道每次的修改的版本ID号 commit id
  • git reset --hard HEAD^  使当前版本成为上一次的提交的版本

        其中参数HEAD^是指上一次的版本,HEAD^^的是上上次的版本,也可以使用HEAD~数字  来指定上几次的版本

        当你git reset之后呢,你再git log一下就会发现之后当前版本和这之前的版本修改信息存在。

        git中是有一个指针指向当前版本的,你git reset就相当于,移动指针。而git log的输出结果就只有指针所在位置的和指针之前的信息,指针之后的就不会显示了。

  • git reset --hard 版本ID号 可以使得当前版本到你指定的版本号,注意版本ID号没必要写全,只需写前几位即可
  • git reflog 可以查看所有的历史命令

       因为git reset之后,若你是回退到以往的版本,那么这之后的在git log的显示结果中回消失,所以当你想到这之后的版本时,你无法通过git log显示的信息来获取commit id ,所以可以使用 git reflog来得知你要到的未来的某个版本的版本ID

 

2,关于stage的概念

你创建的git的文件夹,就是你的工作区,你可以在这工作区中对文件进行增删改查

在这个文件夹中有一个.git的文件,它就是Git的版本库。这里面包含stage和master以及指向master的指针HEAD

其中 master是初始Git默认为我们创建的一个分支。

其中stage即暂存区,每一次add就会把你的add的文件加入到stage中,而每一次commit就会一次性地把stage中的所有修改都提交到分支上。

commit只是将stage中的内容提交到分支上,如果你工作区中的修改不add到stage中,那么即使commit,你的分支不能同步你的工作区的。

3, Git跟踪管理的是修改,而不是文件

4,Git的版本撤销

  • git checkout -- 文件名 丢弃工作区的修改
  • git reset HEAD 文件名  丢弃已经add到了stage中的修改
  • git reset --hard HEAD^    丢弃已经commit到了分支上的修改

5,文件删除

     (1) 在工作区中直接 rm 文件名 (2) git rm 文件名  删除stage中的文件(3) git commit  -m "remove filename" 提交本次删除的修改

     但是,有时,你在工作区中误删了一个文件(只是在工作区中rm掉了,此时还没有在stage中git rm),那么可以使用 git checkout -- 文件名 将误删的文件恢复

 

posted @ 2015-06-14 10:26  ivywenyuan  阅读(224)  评论(0编辑  收藏  举报