今天看了一本git学习指南,系统的学习了git,下面记录一下自己的所学,有问题希望大佬们指出,让我快点进步呢。
一、准备Git环境
1、首先,我们需要安装好Git,安装包:https://git-scm.com/download
2、下载成功后,使用config命令配置用户名和用户邮箱
# 配置用户名
git config --global user.name "username" //( "username"是自己的账户名,)
# 配置邮箱
git config --global user.email "username@email.com" //("username@email.com"注册账号时用的邮箱)
二、常用的git命令
1、git init 创建版本库,使用该命令,会在项目目录中创建一个名为.git的隐藏目录,并在其中创建一个版本库。
2、git add . 使用该命令确定哪些文件应被包含在下次提交中(注册修改)
3、git commit -m "提交内容所属文件夹关键字" 该命令将修改传送到版本库中,并赋予该提交一个散列值以便标识这次新提交(创建提交)
4、git status 显示该项目自上次提交以来所发生的所有修改。
#使相关的输出显得更紧凑
git status --short
5、git diff 显示每个被修改的行
6、git rm +文件名 删除文件的命令
7、git log 显示项目的历史,所有提交都会按时间顺序被降序排列出来
(1)部分输出:-n 通常用于限制输出
(2)格式化输出:--format(显示许多细节信息)、--oneline(显示概述信息)
(3)统计修改信息:--stat(显示被修改的文件)、 --shortstat(显示项目中有多少文件被修改,以及新增或杀出了多少文件)、--dirstat(显示那些包含被修改文件的目录)
(4)日志选项:--graph(显示各提交之间的关系)
git log --graph --oneline
8、git fsck 查看版本库的完整性
9、git reset HEAD 被重置的文件或目录 移出暂存区(即重写暂存区)
git status
git reset HEAD 文件名
10、git stash
#通过该命令将工作区和暂存区的修改保存在储藏栈的缓存区中
git stash
#检查当前储藏了什么修改内容---即储藏栈中有什么?
git stash list
#检查当前栈中储藏了什么修改内容
git stash pop stash@{1}
#恢复位于栈顶的被储藏修改
git stash pop
三、专有名词
1、提交散列值:每次提交git都会为提交内容计算出一个由40个字符组成的唯一编码
2、检出(checkout)操作:恢复到某一版本的操作(执行时,文件的权限不会发生改变,但是文件的修改时间会被设置为当前的时间)
3、暂存区:暂存区(也称为索引)中所存储的是我们为下一次提交准备的内容,他以快照的形式保存了相关的文件内容。