一. 安装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. springMVC的简单了解和环境搭建

    一,什么mvc 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计思想.它主要通过 分离模型.视图及控制器在应用程序中的角色 将业务逻辑从界面中解耦.通常, 模型负责封装应用程 ...

  2. 扫描局域网ip存活

    #!/bin/bash # #******************************************************************** #encoding -*-utf ...

  3. 记一次 解决 vue 兼容ie11 的问题

    vue2.0 最近项目需要做到兼容ie11,找问题找半天,于是各种百度, 发现引入 babel-polyfill 还是有问题  空白页面 参考它的配置 ( 最后一句代码为引入的资源路径 )  我跟他差 ...

  4. [].slice.call(arguments,1) 个人理解

    var arr = []; [] == arr; 假设 var arr = [1,2,3,4,5]; 那么 arr.slice(1,2) == [2]; 通过 slice.call 才能使用call显 ...

  5. oracle汉字排序

    oracle在9i之前是对汉字的排序是按照二进制编码进行排序的,很不适合我们的国情,在oracle9i之后,汉字的排序方式有了以下三种方式:        1.使用拼音排序   NLS_SORT=SC ...

  6. bbs-admin-自定义admin(一)

    自定义admin 概要:django-admin本质就是一个app,只是Django内部分装了,因此我们尝试自己设计一个简易版的admin 设计前知识补充: model._meta.app_label ...

  7. python_glob模块的使用

    glob是Python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作,*,?,[]这三个通配符,*代表0个或多个字符,?代表一个字符, ...

  8. linux技巧----查找某个正在执行的脚本

    如果在机器上发现有执行的脚本,却不知道在哪,可以这样找 例如 # netstat -ltnp Active Internet connections (only servers) Proto Recv ...

  9. ElasticSearch1:基本概念

    ElasticSearch的基本概念 es基本概念: Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式 NRT:Nearly Real Time ...

  10. word2vec原理与代码

    目录 前言 CBOW模型与Skip-gram模型 基于Hierarchical Softmax框架的CBOW模型 基于Negative Sampling框架的CBOW模型 负采样算法 结巴分词 wor ...