Git 简单入门(二)之版本管理

2. 版本管理

2.1 查看仓库当前的状态

  • 命令:git status

2.2 查看文件具体被修改了什么内容

  • 命令: git diff

2.3 提交修改

  • 和提交新文件一样
  • 第一步是git add
  • 可以使用git status 查看将被提交的修改
  • 第二步是git commit -m

2.4 版本回退

  • 可以把commit理解为git仓库的快照
  • 如果误删除文件或者打乱了,可以从最近的一个commit恢复。
  • 查看修改历史记录
    • 命令: git log
    • git log命令显示从最近到最远的提交日志。
    • 如果嫌输出信息太多
      • 加—pretty=oneline 参数
  • 版本的表示
    • 在git中 “head”表示当前版本,也就是最新的提交。
    • 上个版本就是head^
    • 上上个版本就是head^^
    • 往上100个版本写成head~100
  • 回退到上一个版本
    • 命令: git reset —hard HEAD^
    • 参数—hard的意义
      • 后面在讲
  • 返回之前被回退的版本
    • 就是比如说,你从最新的A版本回退到B版本,现在又想回到A版本了
    • 命令: git rese —hard <之前版本的id的前5位>
    • 版本号没必要写全,只要能确定是哪个版本就行
  • git版本回退快
    • 因为在Git内部有个指向当前版本的HEAD指针
    • 回退时仅仅改动head指针的指向
  • 命令记录
    • git会记录你的每一次命令
    • 使用命令git reflog可以查看历史命令

2.5 工作区与缓存区

  • 工作区
    • 能看见的目录
    • 例如仓库所在的目录
  • 版本库
    • 就是隐藏目录.git
    • 不算工作区
    • 暂存区
      • 就是.git目录下的index
    • 自动创建的第一个分支
      • master
      • 指向master的指针叫HEAD
    • 文件命令的解释
      • 命令:git add
        • 把文件修改添加到暂存区
      • 命令:git commit
        • 一次性把暂存区的所有内容提交到当前分支

2.6 管理修改

  • Git跟踪并管理的是修改,而非文件
  • 查看工作区和版本库里面最新版本的区别
    • 命令: git diff HEAD – readme.txt

2.7 撤销修改

  • 命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
    • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
    • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
    • 总之,就是让这个文件回到最近一次git commit或git add时的状态。
  • 文件修改已经添加暂存区
    • 第一步,命令git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区:
    • 第二步,命令: git checkout – 可以丢弃工作区的修改

2.8 删除文件

  • 用rm命令把文件从工作区删除
  • 确实要删除文件
    • 第一步,用git rm 提交删除文件这个”修改”到暂存区。
    • 第二步,用git commit -m 提交删除文件这个”修改”到版本库。
  • 属于误删除文件

你可能感兴趣的:(Git,学习总结,Git学习)