当前位置: 首页 > news >正文

Git系列:常见指令辨析

Git系列:常见指令辨析

    • 指令辨析
      • 工作区、暂存区、版本库傻傻分不清楚?
      • 主干和分支的关系是什么?
      • git fetch/merge/pull辨析
      • 日志查看时,git log与git reflog的区别是?
      • git diff和status的区别是?
    • 相关资料

本文小结常见Git概念辨析和指令对比释疑。

指令辨析


工作区、暂存区、版本库傻傻分不清楚?

  • 工作区:为本地直接可见可操作的文件
  • 暂存区:.git目录下的内容,主要为目录索引index,不直接可见,git add后就是放在这儿
  • 版本库:分为本地和远端,git commit后的结果放在本地版本库,git push后的结果推到远端版本库

主干和分支的关系是什么?

  • 相同处:都属于同一项目中的代码管理
  • 不同处:类似树的概念,主干如下图蓝色部分,分支如图中紫色和绿色部分
    • 主干,常称为master/trunk,常用于主体正式交付版本,主干经常合入分支的各种特性
    • 分支,常称为branch,常用于开发分支,分支是从主干分化而来
    • 进阶了解,请参考链接:菜鸟教程之branch
      在这里插入图片描述

git fetch/merge/pull辨析

  • git fetch本质,拉取远端仓库最新commit内容及其commit id到本地,合不合入另说(用户检查后,再用merge指令合入到本地分支)
  • git merge本质,如果本地操作git merge,就将拉取到的远端结果合入到本地工作;如果远端操作git merge,就将本地提交的结果合入到远端仓库。
  • git pull本质,等于 git fetch + git merge,将远程主机的最新内容拉下来后直接合并。
  • 进阶了解,请参考链接:git命令之git fetch的用法

日志查看时,git log与git reflog的区别是?

  • 指令辨析:log和reflog

  • log

    • 显示含远端仓库的commit日志版本提交,如果回退到以前的commit id版本,则只显示到回退后的版本id
      • 查看commit记录,如指令:git log -ggit log --pretty=oneline
  • reflog

    • 显示的是本地仓库的操作日志,包含删除的commit操作和reset操作,如指令:git refloggit reflog --pretty=oneline
  • 注意,在命令后追加 --pretty=oneline,可以简化输出,只显示commit版本号和提交时的备注信息;-g是以文本表格的形式展现

git diff和status的区别是?

  • diff,显示暂存区和工作区的文件差异,可查看已有文件前后的修改,不能查看新增文件的diff(新增文件diff本身是0和1的区别,直接查看新文件即可,不用比较前后差异),注意在git add 后无法查看
  • status,获取修改的文件列表,可以查看文件修改状态(不会告诉具体修改内容),可分辨是在工作区的修改,还是暂存区的修改

相关资料


  1. Git系列:入门必备指令详解,link
  2. Git系列:常用操作一指禅,link
http://www.lryc.cn/news/26409.html

相关文章:

  • 并发编程实战-构建自定义的同步工具
  • HBase集群部署
  • 网络传输:linux下的网络请求和下载(ping wget curl)、端口
  • 阅读(1)-----六级
  • 【Python实战】快看:”又中奖了,中大奖了“周围的小伙伴都惊呆了~你还不麻溜滴~(代码版彩票小游戏上线啦)
  • 【python】控制台中文输出乱码解决方案
  • 一名IC验证工程师的成长路径是怎么样的?来听听工程师的见解
  • java工具jconsole/jstat学习
  • WSN_1 介绍;部分应用介绍
  • linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)
  • 大数据处理学习笔记1.7 Scala类与对象
  • Feign踩坑源码分析 -- 请求参数分号变逗号
  • nginx通用history模式刷新
  • Linux系统安装:Zookeeper
  • cocos2dx+lua学习笔记:UIPageView的使用
  • MyBatis常见面试题汇总(超详细回答)
  • Jvm调优实战笔记
  • JVM 全面了解
  • 阿里开源自研高性能核心搜索引擎 Havenask
  • nginx日志服务之敏感信息脱敏
  • 【uni-app教程】一、UniAPP 介绍
  • Splunk Real-time Search 的研究
  • SWM181 串口功能使用介绍
  • Stochastic Approximation 随机近似方法的详解之(三)Dvoretzky’s convergence theorem
  • 7个ES6解构技巧让代码更简洁
  • 曾经被人们看成是异想天开的产业互联网,或许终将会实现
  • log4j控制台不打印日志的故障解决方案
  • C# 序列化时“检测到循环引用”错误的彻底解决方案
  • 小红书“复刻”微信,微信“内造”小红书
  • 用arthas轻松排查线上问题