Git基础教程(一)
目录
前言
1、Git用户设置
2、新建一个git仓库(Repository)
2.1 创建文件后交给git管控
2.1.1 创建文件交给git
2.1.2 把文件交给git
2.2 把暂存区的内容提交到存储库里
本章总结
前言
其实不管你是不是程序员,你的日常工作中都离不开对计算机的使用,你可能每天都需要进行文档的编辑、新建、改动等等,最典型的例子就是写毕业论文的时候,我记得自己写毕业论文的时候写了十几个版本,不停的备份。使用序号为1,2,3这样的数字对不同的版本进行标记。但假如你会使用Git,那对你所操作的文档版本的管理将会变得十分便捷。
无论是在Windows下还是Linux/macOS下,git的操作指令都是一样的,一般而言,对git的操作都是在终端上进行的,因此需要掌握一点点终端的命令。
Windows | macOS/Linux | 说明 |
cd |
cd | 切换目录 |
cd | pwd | 获取当前所在位置 |
dir | ls | 列出当前文件列表 |
mkdir | mkdir | 创建新目录 |
无 | touch | 创建文件 |
copy | cp | 复制文件 |
move | mv | 移动文件 |
del | rm | 删除文件 |
cls | clear | 清除当前终端 |
1、Git用户设置
使用Git的时候需要设置用户的邮箱和用户名,之所以这样做是因为可以方便的查看是谁对需要管理的版本作出了什么样的操作。
$ git config --global user.name "Andy Ouyang"
$ git config --global user.name "8888888@qq.com"
输入完成之后,可以查看当前的设置:
$ git config --list
user.name=Andy Ouyang
user.email=8888888@qq.com
2、新建一个git仓库(Repository)
首先打开一个终端,并操作以下命令
$ mkdir git-practice #创建一个git-practice目录
$ cd git-practice #进入创建的目录
$ git init #初始化目录,让git对这个目录进行版本控制
其中,git init命令初始化git-practice目录,让git对其进行版本控制,并在该目录下创建一个.git目录,这个.git目录为隐藏目录,使用ctrl+h可以显示。如果是一个本身就已经存在的目录,那么直接切换到这个目录下然后执行git init命令就行了。
2.1 创建文件后交给git管控
2.1.1 创建文件交给git
对目录进行了初始化之后,让git可以开始管理这个目录,然后我们看看git是如何操作的。使用git status查看当前状态。
当前目录,除了GIt自动生成的.git之外没有任何东西,因此提示nothing to commit。我们在该目录下创建(touch)一个文件,并查看当前目录的状态。
这个时候,welcome.html文件状态为Untracked files,也就是说这个文件尚未被追加到git的版本控制系统中,还未正式被GIt追踪,只是刚加入这个目录而已。
2.1.2 把文件交给git
既然文件状态为Untracked,那么就需要把文件交给git,让git开始追踪他,命令为git add,后面加上文件名
$ git add welcome.html
此时再使用git status查看当前仓库状态
此时文件状态已经从Untracked编程new file。表示文件已经被安置在暂存区,不管如何,此时需要记住这样一个重要概念暂存区。
假如此时,我重新编辑了welcome.html文件,此时使用git status 查看状态:
发现welcome.html变成了两个,因为我们重新编辑了welcome.html文件之后,对Git来说,编辑之后的内容我们并没有把它放在暂存区,此时暂存区中的内容还是此前我们git add进来的内容。如果你想保留你刚刚做的更改,那么需要再次 git add welcome.html。
2.2 把暂存区的内容提交到存储库里
如果只是把改动增加到暂存区还不算完成整个流程,如果想让暂存区中的内容永久保留下来,需要使用git commit命令。
后面加上 -m "init commit" 是要说明,这次的commit做了什么事情,双引号之内的内容,一个很重要的概念是,Git的每次commit都是对暂存区内的内容进行操作,那些尚未使添加进暂存区的内容不会被commit到存储库中。比如,新增一个文件之后,但没有执行git add操作把它加入暂存区,那么git commit的时候该文件就不会被加入存储库中。记住,commit中的内容很重要,因为它代表了一个关键的提交信息,它一定是个重点而非废话,比如"fixed a bug"这种模糊表述,是非常不友好的。
本章总结
$ mkdir git-practice #创建目录
$ cd git-practice #进入目录
$ git init #使用git初始化
$ git status #查看当前目录状态
$ touch welcome.html #在当前目录创建文件
$ git status #查看当前目录状态
$ git add welcome.html #添加进暂存区
$ git commit -m "add welcome.html" #提交暂存区内的文档进入存储库
Git基础教程(一)相关推荐
- Git基础教程(二)
继续上篇Git基础教程(一),在开篇之前,先回顾一下上篇中的基本命令. 1 配置命令:git config --global * 2 版本库初始化:git init 3 向版本库添加文件:git ad ...
- Git系列(一)、Git基础教程【建议收藏】
Git基础教程 一.Git简介 1.1.什么是Git? 1.2.Git的特点 1.3.集中式与分布式的区别? 1.4.什么是版本控制系统? 1.5.Git下载安装 1.5.Git配置 1.6.Git ...
- git 基础教程总结
Git是目前世界上最先进的分布式版本控制系统. 基础 一.安装 1.安装 2.配置 $ git config –global user.name "Your Name" $ git ...
- Git基础教程(四)
工作做到一半需要临时切换到别的任务 1. 先commit当前的进度 简单的做法先保存当前的修改 然后切换到有问题的分级,先完成别的功能,然后切换回原来做到一半的develop分支,执行reset命令 ...
- Git基础教程(三)
Git分支 在git中使用分支非常简单,只需要使用Git branch命令即可: $ git branch test #新建test分支 此时使用git branch查看一下分支: 此时的确多了一个分 ...
- git基础教程(11) git checkout命令,掌握这些足以
文章目录 概览 用法一 用法二 用法三 详细说明 1. `git checkout [<commit>] [--] <paths>` 2. `git checkout < ...
- git基础教程(2) 吹吹牛闲聊Git 简史
提示:本文经奇妙之二进制二次编辑和审核, 修正了一些错误,包括但不限于错别字,语句不通顺,代码编译不过,命令书写错误,图片缺失,排版优化等. 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举 ...
- git基础教程(37) git push origin HEAD:refs/for/master 的意思
先看下git push命令的语法: git push <remote 名字> <本地分支的名字> : <远程库的名字> git push origin HEAD:r ...
- git基础教程(3) Windows10下安装Git
提示:本文经奇妙之二进制二次编辑和审核, 修正了一些错误,包括但不限于错别字,语句不通顺,代码编译不过,命令书写错误,图片缺失,排版优化等. Git是一个开源的分布式版本控制系统,可以有效.高速的处理 ...
最新文章
- Intellij IDEA中的Mybatis Plugin破解
- 每天一个设计模式,工厂方法模式(Factory Method)
- springboot的自动配置原理
- linux nslcd服务,Ubuntu 通过ldap集成AD账号登录(nslcd方式)
- 【C语言简单说】二:第一个C语言程序详解(2)
- 回溯算法和贪心算法_回溯算法介绍
- STM32那点事(1)_STM32F40_41xx启动文件详解
- Redis学习-string数据类型
- squid android 工具包,xUtils Android工具包 v3.9.0
- 离散数学与组合数学汇总
- UE 编辑器无法保存文件(图表被连接到外部包中的私有对象)
- 第二篇 在Win10系统上配置有限元框架FEniCS
- 敌兵布阵 HDU - 1166(树状数组-模板线段树写法)
- sata和sas硬盘Linux,SAS硬盘和SATA硬盘最大的区别是什么?
- 会计信息质量可靠性的案例_论会计信息质量特征及其可靠性
- 留学论文辅导计算机专业Essay写作范文
- BitCoin p2p通信过程
- java date dec_java – 将日期从“2009-12 Dec”格式转换为“31-DEC-2009”
- “美国国家标准化组织(ANSI)”是一个核准多种行业标准的组织,我们可以把数据库看成这样一种有组织的机制
- PyQt(Python+Qt)学习随笔:纯文本编辑器QPlainTextEdit功能详解
热门文章
- bzoj 1617: [Usaco2008 Mar]River Crossing渡河问题(DP)
- opencv 模板匹配,在图像中寻找物体
- [Python+MATLAB] 在Python中使用MATLAB (持续更新中)
- python网络爬虫系列教程——python中requests库应用全解
- BZOJ4372 烁烁的游戏(动态点分治+线段树)
- poj 1426 Find The Multiple (简单搜索dfs)
- MySQL 8.0复制性能的提升(翻译)
- JDK各个版本的新特性jdk1.5-jdk8
- daemon进程(转)
- discuz常用操作说明