一、本地库初始化

  命令:git init

  效果:

    

    注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改

二、设置签名

  形式

    用户名:user

    Email 地址:user@123.com

  作用:区分不同开发人员的身份

  辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。

  命令:

    • 项目级别/仓库级别:仅在当前本地库范围内有效
      • git config user.name zyc
      • git config user.email goodMorning_pro@123.com
      • 信息保存位置:./.git/config 文件
      •          
    •  系统用户级别:登录当前操作系统的用户范围
      • git config --global user.name zyc
      • git config --global goodMorning_pro@456.com
      • 信息保存位置:~/.gitconfig 文件
    • 级别优先级
      • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名

      • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
      • 二者都没有不允许

三、基本操作

  1、状态查看

    git status

    查看工作区、暂存区状态

  2、添加

    git add [file name]

    将工作区的“新建/修改”添加到暂存区

  3、提交

    git commit -m "commit message" [file name]

    将暂存区的内容提交到本地库

  

  4、查看历史记录

    git log

    

      多屏显示控制方式:

      空格向下翻页

      b 向上翻页

      q 退出

    git log --pretty=oneline

    

    git log --oneline

    

    git reflog

    

      HEAD@{移动到当前版本需要多少步}

  5、前进后退

    本质

    

    基于索引值操作[推荐]

       git reset --hard [局部索引值]

       git reset --hard a6ace91

    使用^符号:只能后退

       git reset --hard HEAD^

       注:一个^表示后退一步,n 个表示后退 n 步

    使用~符号:只能后退

       git reset --hard HEAD~n

       注:表示后退 n 步

  6、 reset 命令的三个参数对比

    • --soft 参数

      仅仅在本地库移动 HEAD 指针

    • --mixed 参数

      在本地库移动 HEAD 指针

      重置暂存区

    • --hard 参数

      在本地库移动 HEAD 指针

      重置暂存区

      重置工作区

  7、删除文件并找回

    前提:删除前,文件存在时的状态提交到了本地库。

    操作:git reset --hard [指针位置]

      删除操作已经提交到本地库:指针位置指向历史记录

      删除操作尚未提交到本地库:指针位置使用 HEAD

  8、 比较文件差异

    git diff [文件名]

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

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

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

    不带文件名比较多个文件

Gi命令行操作的更多相关文章

  1. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  2. mysql 命令行操作入门(详细讲解版)

    之前分享过多次Mysql主题,今天继续分享mysql命令行入门   1. 那么多mysql客户端工具,为何要分享命令行操作? -快捷.简单.方便 -在没有客户端的情况下怎么办 -如果是mysql未开启 ...

  3. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  4. linux快速入门 1.1命令行操作

    http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...

  5. MongoDB命令行操作

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...

  6. Ant命令行操作

    Ant命令行操作 Ant构建文件可以将项目编译,打包,測试,它是Apache软件基金会jakarta文件夹中的一个子项目,具有跨平台性,操作简单,并且非常easy上手. 关于Ant执行,能够在项目中找 ...

  7. SVN的命令行操作

    最近在进行svn二次开发,使用的是svnkit.看了很多svnkit的api,渐渐发现都是和SVN的命令行操作对应的.顺便研究一下svn的命名行操作. 1.将文件checkout到本地目录: 基本命令 ...

  8. Hadoop系列006-HDFS概念及命令行操作

    本人微信公众号,欢迎扫码关注! HDFS概念及命令行操作 一.HDFS概念 1.1 概念 HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件:其次,它是分布式的,由很多服务器联合起来实现其 ...

  9. windows 命令行操作 Mysql 数据库

    1 前言 有接手一个新项目,项目中到了 Mysql 数据库 ,这里总结下 windows 命令行操作 Mysql 数据库. 2 Cmd操作数据库 2.1 连接Mysql服务器,命令如下:(root用户 ...

随机推荐

  1. C#如何调用C++(进阶篇)

    上一篇文章最后,提出的一个问题:如果一个c++库中有很多方法,需要一个个声明??这样岂不是要写很多代码??,而且没有智能提示看到提供了那些方法. 如下图: 如果有朋友需要用这种方式调用,而又不知道怎么 ...

  2. http协议与soap协议之间的区别

    http是标准超文本传输协议.使用对参数进行编码并将参数作为键值对传递,还使用关联的请求语义.每个协议都包含一系列HTTP请求标头及其他一些信息,定义客户端向服务器请求哪些内容,服务器用一系列HTTP ...

  3. MySQL5.6.11安装步骤(Windows7 64位)

    1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. 3. 添加环境变量 ...

  4. 如何解决js地址栏中传递中文乱码的问题

    目标要求: 实现从A页面跳转至B页面,B页面接收A页面通过地址栏传递过来的中文参数,中文不能出现乱码. A页面部分代码(传递参数): var title = "这是中文"; var ...

  5. Django drf:视图层封装、ViewSetMixin、路由配置、解析器、响应器

    一.视图层封装 二.ViewSetMixin 三.路由配置 四.解析器 五.响应器 一.视图层封装 1.基本视图 写一个出版社的增删改查resfull接口 路由: url(r'^publish/$', ...

  6. 安装mysql 好不容易成功了 却连不上

    [mysqld] skip-grant-tables datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbo ...

  7. Tomcat 启动闪退解决

    直接使用cmd进入tomcat 目录下进行启动,直接使用Catalina.bat run运行,查看报啥错.进一步进行解决

  8. 定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)

    #习题2:定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, #随机的10个字母和数字的组合:字母和数字的范围可以指定 class RandomString(): #随机数选择的范围作为 ...

  9. 大数据之路week04--day05(java XML解析)

    java解析XML的四种方式: XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不 ...

  10. 第82题:删除排序链表中的重复元素II

    一. 问题描述 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5 ...