【Git】从安装配置到简单使用
Git的下载和安装
下载链接:官网下载、百度云下载
安装说明:双击exe文件,默认配置完成安装,开始菜单里出现如下图的三个图标。
Git基本配置
安装完成后,我们需要进行两项配置,一项是配置自己的名字,一项配置自己的邮箱地址,配置的目的是为了可以方便查看是谁修改的代码,以做确定身份之用。在桌面任意处右击 → Git Bash Here,在弹出的Git Bash命令框中输入下面的命令:
$ git config --global user.name “Your name” //配置用户名
$ git config --global user.email “Your Email address” //配置用户邮箱地址
例如:
$ git config --global user.name “Micheal”
$ git config --global user.email “15732625435@163.com”
查看当前配置命令:
$ git config user.name //查看用户名
$ git config user.email //查看用户邮箱地址
$ git config -l //查看所有配置
整体图示:
ok,配置算是完成了。
Git简单使用
通常,项目的所有代码放在一个文件夹中。不过,为了展示方便,我就用一个txt文件来代替这个系统代码文件夹,通过对txt文件的管理来映射对代码的管理,效果一致。
在桌面新建一个文件夹,命名为GitTest。
在GitTest文件夹下新建一个文本文件,命名为readme.txt。(这相当于把代码文件夹放到GitTest根目录下)
在GitTest文件夹下右击,选择Git Bash Here,输入命令:
git init
。这时候,GitTest文件夹下会出现一个.git文件夹,它是隐藏的,需要把文件夹选项设置为显示隐藏文件夹方可看到。这个时候,GitTest文件夹下就是一个版本库了。就相当于我们new了一个管理员,不过这个管理员现在还不知道要管理什么内容,我们需要告诉他。在GitTest文件夹下右击,选择Git Bash Here,输入命令:
git add .
(这个点代表所有文件,你也可以写成具体的文件名,如readme.txt)。这行命令的意思是告诉仓库管理员,你把这个文件夹下的所有文件都添加到仓库了,让他帮你把这些文件管理起来。然后在命令行中输入命令:
git commit -m "add files"
,这行命令的意思是告诉管理员一些备注信息。引号里面必须写一些内容,写什么随你。
OK,执行完上面这些步骤,我们的readme.txt文件就被管理起来了,现在我们开始演示。比如,我在readme.txt文件中添加一行信息:
I love git
, 保存。查看被修改的文件,使用命令:git status
。查看修改的内容,使用命令:git diff 文件名
。如图所示,修改了文件readme.txt,在其中添加了一行信息I love git
。现在我们再执行一次
git add .
和git commit -m "add one sentence"
。如下图所示,这是什么意思呢?我们小时候玩游戏的时候,都有状态存盘的功能,如果某一关没有过去,你还可以选择读取前一关的状态,从那里重新开始。Git也是一样,每当你觉得文件修改到一定程度的时候,就可以保存一个“快照”,这个快照在Git 中被称为commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作。现在,我们就把readme.txt这个文件保存了一个快照。
为了你更好的理解呢?我们再重复一遍上面的操作。我再在readme.txt文件夹下添加一行信息:Git is the best VCS. 然后执行
git add .
和git commit -m "add the other sentence"
。这样,我们就又一次存了一个快照。
好了,就像打游戏一样,提前存了快照,即使打输了游戏,也还是可以返回到保存的进度。类比代码,我们改乱了代码,希望回到之前的状态。我们就可以执行命令:
git log
来查看我们存了哪些快照。
我们现在就可以看到了我们存了三次快照,第一次是将代码添加到版本库进行管理,算是初始进度。第二次是添加一行句子:
I love git.
的快照。第三次是添加一行句子:Git is the best VCS.
的快照。commit后面跟着的一串字母和数字的组合是系统生成的不会重复的SHA1计算出来的数字,是这次快照的惟一ID属性。当我们需要回到指定的快照的时候,就需要输入其ID来进行返回。下面我们回到只有第一个句子的快照,输入命令:
git reset --hard 805c6c
,这句命令中的805c6c其实就是指的第二次快照的ID,不过这ID没必要写全,写前几位就可以了,Git会自动去找。OK,执行完这行命令,你再看看readme.txt文件中是不是只有一行信息了。
小结
现在总结一下:
- 新建一个版本管理仓库:
git init
- 向仓库中添加一个文件:
git add filename
- 保存快照:
git commit -m "top information"
- 查看快照:
git log
- 返回到指定快照:
git reset --hard commit id
注意:commit 之前一定要先add ,因为它保存的快照是add的东西。这就涉及到Git优于SVN的一点,Git保存的是修改,而SVN保存的是文件,所以Git在速度上优于SVN。如果你不理解,我举个例子:对于一个txt文件,如果我们在里面添加了一行信息,Git只保存添加的这一行信息。而SVN则保存的是加上这两行信息后的所有项目文件。这个只保存修改的机制是Git的一大亮点。
参考资料: 廖雪峰
【Git】从安装配置到简单使用相关推荐
- Git 基础 —— 安装 配置 别名 对象
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 Git 安装 Git下载地址 ...
- asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- git本地安装配置与基础概念
史上最详细安装教程 以上教程是作为扩展学习,其实完全按默认安装就可以了:我们详解配置过程 配置git环境:git config --global config:参数是用来配置git环境的 global ...
- Gitlab安装配置及简单问题处理
Git 是版本控制系统 Github 是在线的基于Git的代码托管服务 Gitlab 可以在上面创建免费的私人repo 建议(少走弯路) 1.Gitlab本身很容易安装,整个安装包也就300M,下载到 ...
- Redis的安装配置及简单集群部署
最近针对中铁一局项目,跟事业部讨论之后需要我们的KF平台能够接入一些开源的数据库,于是这两天研究了一下Redis的原理. 1. Redis的数据存储原理及简述 1.1Redis简述 Redis是一个基 ...
- 安装git安装路径在哪_Atom插件安装与git的安装配置
一.Atom 插件在线安装 1. 安装插件 language-asciidoc ==>语法高亮asciidoc-preview ==>实时预览 在dos 下通过cmd命令安装插件 打开do ...
- ETCD集群安装配置及简单应用
一.环境准备 CentOS Linux release 7.3.1611 (Core) etcd-v3.2.6 二.ETCD下载 https://github.com/coreos/etcd/rele ...
- MacBook git 下载 安装 配置环境变量 使用示范
文章目录 下载 安装 配置环境变量 使用示范 下载 搜索 git mac download 一般第一个就是: https://git-scm.com/download/mac 这里提到了6种安装方式. ...
- Git的安装配置超详细版本(全)
直奔主题 git的安装 通过官网进行安装以及配置 分别对应好电脑的位数配置 下载完成之后双击进行安装即可 安装的目录最好不要有中文的路径 默认即可 勾选的选项主要有 右键菜单 大文件的支持 配置默认的 ...
- 图像识别---Windows下anaconda和yolov5安装配置及简单使用
anaconda安装 anaconda安装一种是直接从官网下载,但是因为源是国外的,下载速率十分缓慢.并且还很容易断开,本文就不介绍了.另一种则是从国内清华源下载,连接比较稳定.推荐!!! 下载地址h ...
最新文章
- 8-14-Exercise
- python语言入门w-python基础知识(一)
- Hibernate 笔记 缓存
- CodeForces - 1265D Beautiful Sequence(贪心+构造+思维)
- gif提取 python_编写Python爬虫抓取暴走漫画上gif图片的实例分享
- DNS 反向解析出错 Error in named configuration: zone centos.vbird/IN: loaded serial 2011080401
- Kubernetes 小白学习笔记(9)--搭建一个kubernetes集群--安装Ubuntu虚拟机和容器docker
- hashmap自定义排序java,如何在Java中对HashMap进行排序
- 有没有好人看看,谢谢谢谢
- 电子设计竞赛(6)-逆变电路
- cesium获取模型高度_Cesium专栏-空间分析之剖面分析(附源码下载)
- 大数据框架基础Hive安装
- 怎样将计算机32位换为62位,电脑32位怎么换62位
- Android 9.0 IMS通话流程
- 2023年黑马Java入门到精通教程--Java基础入门
- 考研复试--数据链路层--计算机网络面试题
- 嵌入式学习——串口通信小试
- 二叉树的前、中、后遍历非递归实现
- Javascript运算符知多少
- 北京周末游周边 —— 东小口森林公园
热门文章
- 基于无线Mesh网络OLSR路由协议的MATLAB仿真
- Android系统判断CPU是32位还是64位
- Dom 中 children 与childNodes 的区别
- div无法触发blur事件解决办法
- python 获取图像亮度和锐度_python增加图像对比度的方法
- C10K问题与IO多路复用
- 创业需要宽广的心胸吗--leo看赢在中国第三季(6)
- 能被3,4,5等数整除的数的特征
- 网页设计期末作业ppt+源码(免费获取)
- 第3章-21 判断回文字符串 (15分) PTA-python 题解 浙大版《Python 程序设计》题目集