一、本地库初始化

  命令: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. element的Dialog组件踩坑

    在一个组件页面中需要有一个弹窗,为了代码简洁我把弹窗封装成一个组件方便重复调用 描述大致是一个父组件,里面有一个按钮还有一个子组件(弹窗),点击按钮让弹窗出来,弹窗自带的有关闭功能,点击关闭以后再点击 ...

  2. S2-016、S2-017

    前言 由于S2-016.S2-017出现的原因时相同的,只是由于poc不一样,造成了不同的攻击.S2-016是RCE,S2-017是开发型重定向漏洞.这里将两个漏洞放一起分析.另外“Struts2系列 ...

  3. leetcode-21.合并有序链表 · List

    题面 合并两个排序链表. 算法 创建结果链表头*res,*p指向头,当两个链表节点都不为空时,比较节点值,值小的挂在p后面,二者(p和小者)顺次后移.知道某条链表空,跳出while循环.接着,直接将不 ...

  4. dfs · leetcode-22.产生括号组?

    题面 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  5. Python学习记录8-继承2

    继承 单继承和多继承 单继承:每个类只能继承一个类 多继承:每个类允许继承多个类 >>> class A(): pass >>> class B(A): pass ...

  6. 判断对象是否为null

    Person p=teacher as person; If (p!=null ) dostring (); 使用这样的方法效率高 使用 is时 进行两次判断效率低

  7. 异步网络编程aiohttp的使用

    aiohttp的使用 aiohttp Asynchronous HTTP Client/Server for asyncio and Python. Supports both Client and ...

  8. ORACLE归档日志满了之后,如何删除归档日志

    当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入OR ...

  9. php+redis一步一步测试秒杀

    1.普通的秒杀查库减库存: <?php /** 100个用户同时访问100次会出现超卖 **/ //连接数据库 $dsn = "mysql:host=localhost;dbname= ...

  10. 用js刷剑指offer(调整数组顺序使奇数位于偶数前面)

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 牛客网链接 js代码 ...