设置签名:

​ 用户名:tom

​ Email地址:goodMorning@atguigu.com

​ git config user.name tom_pro

​ git config user.email goodMorning@atguigu

作用:区分不同开发人员的身份,无其他作用
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系
命令:(就近原则:二者都没有不允许)
项目级别/仓库级别:仅在当前本地库范围内有效
系统级别:登录当前操作系统的用户范围有效
--local / --global /
查看项目配置保存的位置:cat .git/config

显示日志:

​ git log

​ git log --pretty=oneline

​ git log --oneling 备注:只显示当前版本之前的版本,不显示之后的版本

​ git reflog 备注:HEAD@{移动到当前版本需要的步数}

​ 多屏显示方式:空格向下翻页、b向上翻页、q退出

版本前进后退:

​ 本质:HEAD

​ 基于索引值操作(最好用)

git reset --hard 局部索引值

​ 使用^符号(只能后退)

​ git reset --hard HEAD^ 向后退一个版本

​ git reset --hard HEAD^^^ 向后退三个版本

​ 使用~符号

git reset --hard HEAD~3

reset的三个参数对比:
--soft:
仅仅在本地库移动HEAD指针 --mixed:
在本地库移动HEAD指针
重置暂存区
--hard:
在本地库移动HEAD指针
重置暂存区
重置工作区

比较文件差异:

​ git diff 文件名

​ 将工作区中的文件和暂存区进行比较

​ git diff 本地库中历史版本 文件名

​ 将工作区中的文件和本地库历史记录比较

分支管理:

分支的好处:

分支操作:

​ 查看分支:git branche -v

​ 创建分支:git branch 分支名称

​ 切换分支:git checkout 分支名称

​ 合并分支:1)切换到主分支上 git checkout 被合并分支名,增加新内容

​ 2)执行merge命令 git merge 有新内容分支名

解决冲突:

Git基本原理

快照:

每一个文件节点都有一个hash值

对各个版本存储的信息

创建分支等于创建一个指针

分支的切换:HEAD指向的分支名称切换了

master分支变化了

Git简单操作及原理的更多相关文章

  1. git学习笔记03-本地git常用操作及原理-文件增删改

    1.查看git状态 git status  这个可以告诉我们对git做了哪些操,比如增删改 2.既然我们修改了东西,有的时候想看看修改了什么,毕竟我们的记忆力并不如电脑 git diff 文件名 (默 ...

  2. 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC

    非常感谢OSC提供了这么好的一个国内的免费的git托管平台.这里简单说下TortoiseGit操作的流程.很傻瓜了 首先你要准备两个软件,分别是msysgit和tortoisegit,乌龟还可以在下载 ...

  3. GIT简单操作

    以下只是简单的bash的操作命令,个人比较喜欢用gui 打开 git bash here git clone https://github.com/自己的名字/trunk git checkout + ...

  4. GitHub Git 简单操作

    一.使用git更新GitHub 准备:本地已经安装好git 登录GitHub,选择好仓库,点击 Clone or download 拷贝地址 这里的地址为:https://github.com/edw ...

  5. Eclipse安装Git插件及简单操作

    0. 前言 说一件事,说起来也是好笑,工作三年半了,还没接触到团队开发,都是一个人小打小闹.因此连Git都没有使用过.感觉好Low的,这一篇,简单讲一下,Eclipse配置Git插件,并提交代码到Gi ...

  6. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  7. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  8. Git远程操作详解

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  9. [转]Git远程操作详解

    原文:http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...

随机推荐

  1. 按键显示器(判断键盘监听器获得的值为普通Key还中modifiers)

    1 import sys 2 from PyQt5 import QtWidgets,QtCore 3 from PyQt5.QtCore import Qt 4 from PyQt5.uic.pro ...

  2. 五分钟快速上手MyBatis

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射. 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. 可以通过简单的 XML 或注解来配置和映射,Ja ...

  3. FreeRTOS操作系统最全面使用指南

    FreeRTOS操作系统最全面使用指南 1 FreeRTOS操作系统功能 作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能等,可基本满 ...

  4. 【Azure 应用服务】App Service与APIM同时集成到同一个虚拟网络后,如何通过内网访问内部VNET的APIM呢?

    问题描述 App Service访问的APIM已配置内部虚拟网络(Internal VNet)并拥有内网IP地址.App Service与APIM都在相同的虚拟网络(VNET)中.App Servic ...

  5. Kubernetes: NGINX/PHP-FPM 502错误和优雅结束

    我们有一个运行在Kubernetes上的PHP应用,每个POD由两个独立的容器组成 - Nginx和PHP-FPM. 在我们对应用进行缩容时,遇到了502错误,例如,当一个POD在结束中时,POD里面 ...

  6. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. Gym100923H Por Costel and the Match

    题目链接:http://codeforces.com/gym/100923/problem/H 分析:并查集,用enemy储存x的敌人,用weight储存权重决定根节点 需用scanf和puts输入输 ...

  8. 【Arduino学习笔记04】消抖动的按键切换

    "开关抖动": 由于按键是基于弹簧-阻尼系统的机械部件,所以当按下一个按键时,读到的信号并不是从低到高,而是在高低电平之间跳动几毫秒之后才最终稳定. 代码解读: 1 const i ...

  9. 在Asp.Net Core 5 中使用EF Core连接MariaDB

    升级到Asp.Net Core 5,使用EF Core连接MariaDB,使用的Nuget包Pomelo.EntityFrameworkCore.MySql也升级到了5.0.0-alpha.2,然后发 ...

  10. C++图论算法——图的储存方式

    使用二维数组邻接矩阵储存图 无向图: 图G 定义图G[101][101],G[i][j]的值表示从结点vi到vj是否有边或弧,若有,取值为1或权值,若无,则取值为0或∞.以下是图G用邻接矩阵表示的列表 ...