Git-学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38292691/article/details/85227196

Git有三棵树

工作区、暂存区、Git仓库里面Head指针指向的最新版本的数据

Git管理的文件有三种状态

1、已修改

2、已暂存

3、已经条

GIt 常用命令

git init

将工作目录的文件放到Git仓库只需要两步

git add README.md

git commit -m "add a readme file"后面加上的是这次提交的说明

查看状态

git satus查看当前的状态

On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

在master分支,但是为未“跟踪文件”跟踪文件“,所谓的未跟踪,指的是那些,

新添加的文件,但并没有增加到暂存区域的文件

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

如果不想让Git跟踪可以使用  git reset <filename>给你一次反悔的机会,将最近提交的文件恢
 

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
 

git checkout :将暂存区域的文件覆盖本地的文件

查看历史提交记录

git log 查看各个版本

下次学习第四集---

快照

git reset HEAD~       该命令后面的波浪线表示当前版本的上一个版本(回滚到了第二棵树,暂存区域)

一个波浪线就是上一个,两个波浪线就是上两个版本。。。。

git reset HEAD~10 表示HEAD指向版本的前10个版本

$ git reset HEAD~
Unstaged changes after reset:
M       LICENSE
 

gir reset --mixed HEAD~    其实做了两步操作

第一步修改了第三棵树

-移动HEAD的指向,将其指向上一个快照

第二步修改了第二棵树

-将HEAD移动后指向的快照回滚到暂存区域

为了更灵活的操作三棵树, git为了rest操作提供了两个选项

一个叫做 --soft,

git reset --soft HEAD~ 相当于撤销一次错误的提交命令

----移动HEAD的指向,将其指向上一个快照

还有一个叫做 --hard

git reset --hard HEAD~  他会做3步操作

第一步修改了第三棵树

-移动HEAD的指向,将其指向上一个快照

第二步修改了第二棵树

-将HEAD移动后指向的快照回滚到暂存区域

第三步修改第一棵树

-将暂存区的文件还原到工作目录    (所以该操作具有一定的危险性) 

$ git reset --hard HEAD~
HEAD is now at f8dded8 add a REMADME FILE

git 还可以指定ID号进行回滚

回滚指定快照

git reset  +快照ID(一般5个以上,前几个)

回滚个别文件

git reset 版本快照 文件名/路径

如果历史ID丢了怎么办?????????(嘿嘿不告诉你,自行百度)

下次学习第五集

猜你喜欢

转载自blog.csdn.net/qq_38292691/article/details/85227196
今日推荐