关于git是什么我想我也不用多说什么,其实关于git的操作在他们的官网上有详细的说明,一项新的技术官网上的一定是最权威的,所以学习一门技术我个人更倾向于看官网,下面的是git的官网https://git-scm.com/

一、下载与安装

选择自己对应的操作系统,然后进行傻瓜式安装即可。Windows

Linux中的安装用命令yum  install  git进行安装就行,后面的提示都选择Y就可以安装成功了,其实在官网上也有说明用Linux命令安排时的命令

点击上图片Linux/Unix按钮进入下面页面,下面页面详细说明了安装所用到的命令,有需要的朋友可以自行在官网查看,因为官网对每一个命令的描述都很详细了,这里就不过多说明

二、git的版本控制

以我自己的项目文件夹为例,进行版本控制操作

点击右键选择git bash here进入如下页面

用如下命令创建文件夹

创建完成后进入新创建的文件夹中

用命令查看会发现这个文件夹中现在是什么文件都没有的

在目录中执行 git init 命令初始化创建一个 Git 仓库了。

为了搞清楚git是怎么进行版本控制的,下面做一件事,就是创建一份文件然后操作这个文本文件。不断的修改这个文件的内容,每次修改之后,我需要记录修改的历史记录。

用命令git add a.txt将需要提交的代码从工作区添加到暂存区

其实git add 的命令用法有好几种,在这里先暂时补充下,git add [参数]  [--] <路径>作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。

1  git add . 

不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除

2 git add -u .

       -u  == --update ,表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。

3 git add -A .

       -A == --all  , 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。

操作完git add 后就是要提交到本地仓库了,用命令git commit  -m [message] ;其中[message] 可以是一些备注信息。

然后 git status 命令查看在上次提交之后是否有对文件进行再次修改。

为显示出git status这个命令的区别,我做一件事,把刚刚提交的文件修改一下

然后再操作一次git status命令

会发现他提示你需求再次git add和git commit一下,那就再来次呗

这些操作完成后那么本地库里就有了两个版本的内容了,现在有了一个需求,那就是要把版本回退到最初始提交的版本,怎么玩,先用git log命令查看下提交记录,会发现有两次提交

方式有很多,因为我们就提交了两个版本,所以回退到上个版本就可以用git reset  --hard HEAD^就可以了

再次打开文件会发现文件已回退到上一版本了

除了这个命令呢还有一个命令就是回退到指定版本,前面用git log命令时细心的人会发现有个版本id,就是commit

所以说想回退到指定版本就很简单了,直接git reset --hard [commit] 就可以了;细心的朋友可能还能发现一个问题,那就是用git log命令能看到回退后的提交版本信息,回退前的提交信息看不了,如果现在又有个需求,那就是别人后悔回退了,要还原,怎么搞,不急,我们能想到的问题,其实前辈们都遇到过,也做出了解决方案,还有一个命令叫做git reflog

看上图,这个命令可以把所有提交记录全展示出来,如果这时你想还原就更简单了,就用上面用的那个git reset  --hard [版本号]

这次再打开文件会发现发生了还原

是不是感觉这些命令也挺好玩的,后面我会说一些更好玩的东西,喜欢的朋友可以看下去

git操作初启篇(一)的更多相关文章

  1. Git操作(提高篇)

    Git操作(提高篇) 分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 假设你准备开发一个新功能,但是需要两周才能完成,第一周 ...

  2. Git操作(基础篇)

    Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

  3. 第一篇:Git操作详解

    最近由于项目的需要,我需要负责整个项目的托管,其中涉及到很多Git相关的命令,所以就将之前用到的git相关的命令做了一个总结和归纳.由于开发环境是Linux,所以我接下来的操作命令均针对Linux环境 ...

  4. IDEA中的Git操作,看这一篇就够了!

    大家在使用Git时,都会选择一种Git客户端,在IDEA中内置了这种客户端,可以让你不需要使用Git命令就可以方便地进行操作,本文将讲述IDEA中的一些常用Git操作. 环境准备 使用前需要安装一个远 ...

  5. 转 git操作小结

    UNDER MIT LICENSE. 公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月 ...

  6. Git命令之回退篇 git revert git reset

    Git command之回退篇 欲练回退 必先了解:HEAD.index.WorkingCopy HEAD: 当前所在的分支版本顶端的别名,也就是最新的一次commit. git commit 之后与 ...

  7. webstorm的git操作使用

    0. 前言 在上一篇文章中,讲述了使用webstorm去调试node程序,最近研究了一下如何使用webstorm去操作git. 对于git的使用,大家的使用方式均有不同,最王道的方式非命令行莫属,基于 ...

  8. Intellij 中的git操作 转!

    http://blog.csdn.net/lovesummerforever/article/details/50032937 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git ...

  9. 使用Git操作GitHub代码入门教程

    GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...

随机推荐

  1. c++ readIntger writeIntger

    类似CE的read/writeIntger函数(外部) #include <iostream> #include <Windows.h> #include <TlHelp ...

  2. STM32之SPI通信

    SPI总线简介 >SPI总线介绍 SPI接口是Motorola首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构:支持多slave模式应用,一般仅支持单Maste ...

  3. 用Vue3构建企业级前端应用,TS能让你更轻松点

    摘要:Vue 3已经发布有一段时间了,到底有哪些新特性值得关注,如何用它构建企业级前端项目,怎样快速上手Vue 3?本篇文章将对此进行详细讲解. 前言 工欲善其事,必先利其器 --<论语> ...

  4. WPF -- 一种添加静态资源的方式

    本文介绍使用独立的xaml文件添加静态资源的方式. 步骤 创建XAML文件,如ImageButton.xaml,添加ResourceDictionary标签,并添加静态资源: 在App.xaml的Ap ...

  5. CMD(命令提示符)的基本操作(文件夹)

    打开CMD窗口,接下来将介绍如何使用CMD来创建.删除.修改.查看文件夹(目录) ps:以下所有文件夹将统一写成目录 1.1 使用CMD创建空目录(为了更好的演示,本文皆以D盘为当前路径),命令如下: ...

  6. 小心你的个人信息——GitHub 热点速览 v.21.09

    作者:HelloGitHub-小鱼干 浏览过必有痕迹,有什么可以抹去社交痕迹的方法呢?social-analyzer 是一个可在 350+ 网站分析特定用户资料的工具,你可以用它来"人肉&q ...

  7. 在C#的WPF程序使用XAML实现画线

    在WPF中画直线.新建WPF应用程序,使用XAML画直线.使用X1.Y1两个属性可以设置直线的起点坐标,X2.Y2两个属性则可以设置直线的终点坐标.控制起点/终点坐标就可以实现平行.交错等效果.Str ...

  8. CentOS Install NMP

    目录 Installation steps of the Nginx install run 默认安装路径 指定安装目录 Installation steps of the MySQL 下载源码包 解 ...

  9. JQGrid 应用

    jqGrid 原理 jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示.换句话说,jqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务 ...

  10. 腾讯云容器服务 TKE 拿下新加坡 MTCS 最高级别安全认证

    近日,腾讯云容器服务 TKE 荣获新加坡 MTCS 最高级安全认证,标志着腾讯云 TKE 在为用户提供可靠.易部署.灵活扩展等基础服务上,已经全面满足了新加坡监管机构以及多个行业客户对服务安全的要求. ...