一:简介

GIT是一个开源的分布式的版本控制系统,是由Linus 为了管理Linux内核开发而开发的一个开源的版本控制软件。相比SVN,它采用分布式版本库方式。

二:工作区,暂存区和版本库

左侧为工作区,编辑文件所在的目录,右侧为版本库,其中index区域是暂存区,标记为"master"代表master主分支。

三:基本操作指令

1.创建仓库

a.当前目录创建仓库

     git init

b.指定目录创建仓库

     git init 目录名

2.设置配置

a.全局配置

        git config --global user.name woniu
git config --global user.email woniu@.com

b.设置本地仓库配置

        git config --local user.name woniu
git config --local user.email woniu@.com

c.查看配置信息

        git config --global --list

3.工作区文件新增到暂存区

a.提交指定文件

     git add a.cpp

b.提交当前目录所有文件

     git add .

c.把提交过暂存区,已经发生改变的文件再次提交到暂存区

     git add -u

4.暂存区文件提交到版本库

      git commit -m "初始版本"

5.查看git提交日志

a.全部日志

        git log

b.简化日志

        git log --oneline

c.查看前5个日志

        git log -n5 --oneline

d.查看所有日志

        git log --all

e.图像化查看所有日志

        git log --all --graph 

f.图形化界面查看

        gitk

6.查看上次提交后是否有修改

     git status

7.查看差异

a.查看工作区与暂存区差异

        git diff

b.查看暂存区与仓库之间的差异

     git diff --cached

c.比较不同commit的差异

        git diff HEAD1 HEAD2

8.清空暂存区,工作区修改

       git reset --hard

9. 删除工作区和暂存区文件

       git rm 文件名

10.重命名文件

        git mv a.cpp b.cpp

11.版本回滚

a.恢复暂存区和HEAD一致

     git reset HEAD

b.恢复暂存区指定文件与HEAD一致

     git reset HEAD -- 文件名

c.恢复工作区与暂存区一致

     git checkout -- 文件名

d.回退到指定commit,会清楚之后提交的commit

       git reset --hard HEAD    

扫码关注公众号

专注分享C/C++,C++(11,14,17),STL,Java,Spring,mybatis,mysql,redis,分布式,高并发,设计模式,爬虫,docker,shell编程等相关技术,还有高薪互联网职位内推,在这里一起探讨,一起学习,一起进步,同时不定期分享视频书籍资源,充分利用碎片化时间,让我们的技术之路更加有乐趣!

Git使用总结(一):简介与基本操作的更多相关文章

  1. git的简单使用方式(基本操作部分)

    git的简单使用方式(基本操作部分) 1.简单介绍GIT的工作流程 git一般的工作流程: 克隆git的资源作为工作目录(一般会使用命令git clone进行克隆); 在克隆的资源上对文件进行增加或者 ...

  2. 《Pro Git》笔记3:分支基本操作

    <Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...

  3. Git:一、简介&安装Git 2.20.1

    0.Git官网 1.简介 一个分布式版本控制系统. 作用:自动记录每次文件的改动,还可以让同伴协作编辑. 分布式与集中式相比优点在于:版本库在每个人自己电脑上,不需要一直在网上,也不用担心某一个数据库 ...

  4. mongodb学习(一)——简介和基本操作

    简介 MongoDB 是一个基于分布式文件存储的数据库 属于NoSQL数据库,是介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的 旨在为WEB应用提供可扩展的高性 ...

  5. python简介与基本操作

    一.python的历史 python的创始人Guido van Rossum,现就职于Dropbox公司. 1989年12月份诞生了python1.0 2000年10月16日发布了python2.0 ...

  6. git安装及使用简介

    从源代码安装 有人觉得从源码安装 Git 更实用,因为你能得到最新的版本. 二进制安装程序倾向于有一些滞后,当然近几年 Git 已经成熟,这个差异不再显著. 如果你想从源码安装 Git,需要安装 Gi ...

  7. 1.Ehcache(01)——简介、基本操作

    转自:https://blog.csdn.net/w1014074794/article/details/51086228 Ehcache简介 目录 1       CacheManager 1.1  ...

  8. CentOS 7安装简介及基本操作

    计算机基本概念: 1.计算机硬件组成: 2.计算机系统结构: 3.操作系统的功能:硬件驱动.进程管理.内存管理.网络管理.安全管理.文件管理等. 4.OS通用目的的软件程序:用户<-->应 ...

  9. Git使用技巧(2)-- 基本操作

    常用 Git 命令清单 作者: 阮一峰 编辑更新:shifu204 日期: 2016年9月 1日 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练 ...

随机推荐

  1. jquery 实现抖动效果

    jQuery.fn.shake = function (intShakes /*Amount of shakes*/, intDistance /*Shake distance*/, intDurat ...

  2. 基于JSP+Servlet开发高校社团管理系统(前台+后台) 源码

    基于JSP+Servlet开发高校社团管理系统(前台+后台): 开发环境:    Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MYSQL数据库 运行效果 ...

  3. RobotFramework与Jenkins集成发送邮件

    转: A.    目标:实现RobotFramework的脚本定时自动执行,执行完后自动将结果发送到指定邮箱 B.    前提1. 配置好Robot Framework的环境,脚本可以正常运行 2. ...

  4. [js]利用闭包向post回调函数传参数

    最近在闲逛校园XX站的时候,打算搞个破坏,试试有多少人还是用初始密码登陆.比较懒,所以直接打开控制台来写. 所以问题可以描述为: 向后端不断的post数据,id从1~5000自增,后端会根据情况来返回 ...

  5. Microsoft Office Specialist (MOS) 认证考试详解---word 2010 部分

    Microsoft Office Specialist ( MOS)认证考试详解 首先是   Microsoft Certification overview http://www.microsoft ...

  6. 阿里云PolarDB及其共享存储PolarFS技术实现分析(上)

    PolarDB是阿里云基于MySQL推出的云原生数据库(Cloud Native Database)产品,通过将数据库中计算和存储分离,多个计算节点访问同一份存储数据的方式来解决目前MySQL数据库存 ...

  7. “全栈2019”Java第三十三章:方法

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. C# Winform下一个热插拔的MIS/MRP/ERP框架13(窗体基类)

    作为一个ERP数据处理框架,大部分的开发场景都差不多. 理想中,对于通用数据处理,我的步骤如下: 1.为窗体指定数据来源(数据表/查询等): 2.拖入编辑控件,指定绑定字段: 3.结束. 为此,我设计 ...

  9. linux系统下运行java项目的脚本编写

    本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客. 在linux系统下运行jar包的命令如下: 1.java -jar xxxxx.jar  //  ...

  10. createFile

    #include<iostream> #include<windows.h> #include<stdio.h> using namespace std; int ...