一. 安装git

1:在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项一直安装即可。

2:安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

3:你得在git中自报家门,输入你的名字以及email

$ git config --global user.name "Your Name"
设置你的用户名字
$ git config --global user.email "email@example.com"
设置你的用户邮箱

设置完成之后,检验一下你的名字和email是否设置正确

$ git config user.name
将会输出你刚才设置的用户名字,如果不对,请重新按照上述设置用户名
$ git config user.email
将会输出你刚才设置的用户邮箱,如果不对,请重新按照上述设置用户邮箱

至此,你的git已经安装并且设置完成

二. git创建本地仓库

1:打开git中的gitbash命令台

2:创建本地仓库并将其设置为git可管理的仓库

$ mkdir learngit                                                  # 创建本地仓库learngit
$ git init # 使之变成git可以管理的仓库
Initialized empty Git repository in C:/Users/ltj/.git/ # 控制台告诉我们:这是一个空的仓库
$ pwd # 告知我们当前的仓库目录

3:此去文件管理中可查看到在该目录之下创建了一个文件(本地仓库):learngit

三. 添加文件以及提交文件

讲述这个之前我们需要先了解一下git的工作原理:

git总共分为3个部分工作区(也就是平常我们修改工作的地方),暂存区(暂时存放工作内容的地方stage),本地仓库(master)。接下来开始学习:

添加文件到Git仓库,分两步:

1:添加文件至暂存区

$ git add readme.txt                    # 添加文件readme.txt至暂存区

2:提交文件至本地仓库learngit

$ git commit -m "first"                 # -m后面跟随的是输入的是本次提交的说明
# git commit该命令是将暂存区的所有内容提交至本地仓库learntgit

备注: git commit 只是将暂存区的所有内容提交至仓库中,而工作区的内容是不会被提交的。

举例:

1:你将文件1从工作区提交至暂存区,之后再本地修改文件1--->文件11。使用git commit 之后将提交文件1至仓库,则工作区的文件11内容不会被提交

2:你将文件1和文件2从工作区都提交至了暂存区。使用使用git commit 之后将同时提交文件1和文件2至仓库

四. 撤销修改

忽然发现自己写乱了一大堆代码&&也忘记了做的更改,此时我们需要将工作区的内容完全的丢掉,则使用以下命令即可

$ git checkout -- readme.txt          # 将版本库里的readme.txt内容重新替换工作区的文件readme.txt

不幸的是,我们刚才写乱的一大堆代码已经被提交至了暂存区,那么需要先将暂存区的内容重新放回至工作区。

之后再使用git checkout -- <file> 恢复内容即可

$ git reset HEAD readme.txt            #将暂存区的内容恢复至工作区
$ git checkout -- readme.txt           

很不幸,你还将错误的内容提交至了本地仓库。那么就需要回退版本了,参考接下来讲述的版本回退

更不幸的是,你讲他推送至了远程仓库,那么所有人都会拉取到你的错误的代码了。不能再进行回退了。所以,保重吧!!

五. 版本回退

工作过程中,我们修改了无数个版本。每一个版本都被提交至仓库。

我们首先来看看我们总共有几个版本:

$ git log                                                             # 使用该命令查看近期的修改过的版本
commit 05624fef1a62febc03d9970e23877f57ad2559f0 (HEAD -> master) # 最近的一次修改以及该数字为本次修改的id
Author: linjing.guo <linjing.guo@11.com>
Date: Fri Oct :: + add test.txt commit 8a6ef3ab67fcba55d343b7789a2e63c4c95bfb36 # 倒数第二次修改以及该数字为本次修改的id
Author: linjing.guo <linjing.guo@11.com>
Date: Fri Oct :: + seconed commit 84f30444837558ecf3c054ec09429b13a79477c5 # 倒数第三次修改以及该数字为本次修改的id
Author: linjing.guo <linjing.guo@11.com>
Date: Fri Oct :: + first

某一天,我们发现最近的版本出现了错误,此时需要回退至上一个版本了,则使用命令git reset --hard HEAD^即可回退到上一个版本。回退之后再来git log看看我们现在的版本,已经成功的回退到了上一个版本。

$ git reset --hard HEAD^

$ git log
  commit 8a6ef3ab67fcba55d343b7789a2e63c4c95bfb36 (HEAD -> master)
  Author: linjing.guo <linjing.guo@11.com>
  Date: Fri Oct 11 14:28:54 2019 +0800

seconed

commit 84f30444837558ecf3c054ec09429b13a79477c5
  Author: linjing.guo <linjing.guo@11.com>
  Date: Fri Oct 11 14:21:23 2019 +0800

first

问题又来了,如果我们想要回退到倒数第2次的版本呢,当然会有更简单的方法:git reset --hard (commit_id),回退到哪个版本的id时,id名字不用写全,写前几个可以让git辨别出来就可以了,但是不要只写一个啊,只写一个的话,可能会有2-3或者更多版本都会匹配到该数字

$ git reset --hard 8a6ef3

如果你说我已经从第5个版本回退到第2个版本了,这时候用git log只能查看到第一个版本和第二个版本的id了。那么中间缺少的几个版本怎么查看id呢?就回不去了吗?当然,是不可能的

这时候就需要用到git reflog来查看中间3,4,5的版本id号了,如果你想在跳转过去的话,仍旧使用上述命令git reset --hard (commit_id).

$ git reflog
$ git reset --hard 05624fe

总结:查看版本id时,使用 git log 查看当前版本之前的所有修改

使用  git reflog 查看当前版本之后所有的命令历史,会有版本id哦

六.  删除文件

如果我们删除了某个文件,再使用 git status 查看当前的状态时,会提示某个文件已经被删除

接下来我们会有两种选择

1:该文件是被误删除了,此时需要从仓库中创建出新的出来。则使用命令 git checkout 即可

$ git checkout -- test.txt  

2:该文件就是应该被删除,此时就需要使用git命令来删除该文件并且将其提交到仓库中

$ git rm test.txt                                   # 删除文件test.txt
rm 'test.txt' $ git commit -m"delete test.txt" # 将此次删除提交至仓库中
[master b5cd676] delete test.txt
file changed, insertions(+), deletions(-)
delete mode test.txt

读后有收获可以赞赏一下哦

Git学习教程一之安装Git&&&本地仓库建立的更多相关文章

  1. Git 学习(一)安装 Git

    这里写自定义目录标题 这一章介绍怎么安装 Git 大家都是开发老司机,就不简介什么是 Git 了,直接开花. 在 Linux 上安装Git 在 Windows 上安装 Git 初次使用 Git 前的配 ...

  2. Git(2) - git安装、本地仓库与远程仓库使用详细指南

    git版本控制工具 下载地址:https://www.git-scm.com/download/win选择对应版本的工具,下载后是一个exe执行文件: 常用git命令 命令 作用 git init(在 ...

  3. Git学习总结(11)——Git撤销操作详解

    本文主要讨论和撤销有关的 git 操作.目的是让读者在遇到关于撤销问题时能够方便迅速对照执行解决问题,而不用去翻阅参数繁多的 git 使用说明. 一开始你只需了解大致功能即可,不必记住所有命令和具体参 ...

  4. Maven:将Jar安装到本地仓库和Jar上传到私服

    1.依赖如下: <dependency> <groupId>org.quartz-scheduler.internal</groupId> <artifact ...

  5. Maven : 将Jar安装到本地仓库和Jar上传到私服 转

    http://blog.csdn.net/we_shell/article/details/49819221 Jar的maven配置 <dependency><groupId> ...

  6. 本地jar包安装到本地仓库

    将本地jar包安装到本地仓库中,记得参数上有双引号 mvn install:install-file -Dfile="jar全路径" -DgroupId="groupId ...

  7. maven(九),install安装到本地仓库

    下载oracle驱动jar包 在maven中央仓库中,是没有oracle驱动jar包的.因为oracle是商业软件,其jar包不允许用作开源用途.从http://www.mvnrepository.c ...

  8. 本地jar包 安装到本地仓库中的命令

    maven 项目 本地jar包 安装到本地仓库中去: 首先进入到该文件所在文件夹内 若不在直接绝对路径就可以.注意命令中的空格 mvn install:install-file  -Dfile=文件名 ...

  9. Maven-将jar包安装到本地仓库

    因为项目需要,使用的是sqlserver数据库,但是却找不到其对应的pom依赖,所以需要将本地jar包安装到本地仓库,定义pom依赖.以此为例,其他jar包均可参考该方式 cmd命令语句: mvn i ...

随机推荐

  1. [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具]

    [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具] 项目实战 实战5:实现BTC价格转换工具 今天我们来开发一个简单的BTC实时价格转换工具. 我们首先 ...

  2. Spring入门篇——第6章 Spring AOP的API介绍

    第6章 Spring AOP的API介绍 主要介绍Spring AOP中常用的API. 6-1 Spring AOP API的Pointcut.advice概念及应用 映射方法是sa开头的所有方法 如 ...

  3. 【细谈Java并发】谈谈LinkedBlockingQueue(转)

    最近在看concurrent包的知识,看到LinkedBlockingQueue,发现一篇好文推荐给大家.原文地址:[细谈Java并发]谈谈LinkedBlockingQueue 1.简介 上篇我们介 ...

  4. 内置对象:Math

    JavaScript内置函数Math.random()自定义封装函数:1,Math.floor(Math.random()*(b-a+1)+a)  随机生成a到b之间的整数. 也可以写成:Math.f ...

  5. 【Python之路】特别篇--基于领域驱动模型架构设计的京东用户管理后台

    一.预备知识: 1.接口: - URL形式 - 数据类型 (Python中不存在) a.类中的方法可以写任意个,想要对类中的方法进行约束就可以使用接口: b.定义一个接口,接口中定义一个方法f1: c ...

  6. 牛客练习赛52 B题【树状数组维护区间和{查询区间和,如果区间元素重复出现则计数一次}】补题ing

    [题目] 查询区间和,如果区间元素重复出现则计数一次. 链接:https://ac.nowcoder.com/acm/contest/1084/B [题解] 将询问按r排序,维护每个数最后出现的位置, ...

  7. 公共钥匙盒(CCF)【模拟】

    问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中 ...

  8. prevAll([expr]) 查找当前元素之前所有的同辈元素

    prevAll([expr]) 概述 查找当前元素之前所有的同辈元素 可以用表达式过滤.大理石构件维修 参数 exprStringV1.2 用于过滤的表达式 示例 描述: 给最后一个之前的所有div加 ...

  9. 使用ice-plugin-fusion给icedesign的模板加个主题(theme)

    最近一直处于半失业状态,好多年没有更新对前端的理解了,闲来看看前端技术的发展.因为一直是个草台班子,身兼多职东看看西看看,一直没太搞清楚iceworks.ant design, fusion等等一堆阿 ...

  10. 近期将要学习的内容(flag)

    块状链表 左偏树 最大流,最小割 费用流 数位DP 计算几何 主席树 树套树(弃疗) 斜率优化 manacher kmp,exkmp 树链剖分 splay树(只看了理论) Trie树 线段树操作及应用 ...