git基本用法

安装git

Windows系统

在git官网下载安装即可

Mac os系统

没用过,不知道

Linux

Debian或Ubuntu

sudo apt-get install git

Centos

yum install git

配置–告诉git你是谁

在进行commit提交操作时,git需要知道你是谁

全局配置

git config --global user.name 'Your name'

git config --global user.email 'email@example.com'

局部配置

git config user.name 'Your name'

git config user.email 'email@example.com'

读取相应配置

git config user.name

git config user.email

创建仓库

在目录下进行git初始化,即可在该目录下创建一个仓库

mkdir learngit
cd learngit
git init

通过 ls -ah 列出所有的隐藏文件,会发现该目录下新增了 .git 目录

git status 命令

该命令将显示仓库的当前状态,包括工作区的修改状态和暂存区的提交状态

git add 命令

该命令用于将工作区的内容添加到暂存区

例如我们在工作区新建了一个learngit.txt, 我们可以把它添加到暂存区

touch learngit.txt

git add learngit.txt

git add -ugit add -A

git add -ugit add --update 的简写,意为更新暂存区,只有被添加到暂存区的文件才会被更新
git add -Agit add --all 的简写,意为添加所有修改到暂存区,git中的修改包括了文件的新建,删除和文件内容改变(不论之前是否添加到暂存区)

git commit 命令

该命令用于将暂存区的内容提交到仓库

通过 git add 命令我们已经在暂存区添加了 learngit.txt 文件,这时我们可以将其提交到仓库

git commit -m '增添了learngit.txt'

这样我们附带了一行提交信息,如果我们想附带多行的提交信息,可以直接执行

git commit

该条命令会打开编辑器,可以在编辑器里输入多行提交信息

上图摘自: git commit –amend之后出现的填写提交message的界面,之后要怎么操作?

每次进行commit提交操作时,最好带上提交信息,便于我们日后查询每个提交主要进行了什么内容的更改

该命令会将暂存区的所有内容提交到仓库

git diff 命令

该命令用于查看工作区相对于暂存区版本库的具体修改内容

当暂存区不为空时,与 暂存区 比对
当暂存区为空时,与 版本库 比对

当我们的 暂存区 不为空,而我们又想查看 工作区 与 版本库 的区别,可以用以下命令,指定与当前版本库对比

git diff HEAD --

git log 命令

查看git的日志记录,其中保存着提交信息

当版本信息较多时,我们可以选择显示简略信息,每条显示在一行上

git log --pretty=oneline

git reset 命令

该命令有三种模式 --mixed --soft --hard,默认为 --mixed 模式

  1. --mixed 模式

在没有指定要回退的版本时,git reset 命令会丢弃暂存区的内容,而工作区和版本库不发生改变

在指定要回退到某一版本时,git reset HEAD^ 命令

git reset --hard HEAD^

HEAD 表示当前版本,HEAD^ 表示上一个版本,HEAD^^ 表示上上个版本,也可用HEAD~1 表示上一个版本,HEAD~2 表示上上个版本

除了使用相对版本位置进行回退,我们还可以指定版本号进行回退

git reset --hard 0010a

此处的 0010a 是我们要回退到的版本id的前几位

回退到当前版本,暂存区的修改将放回工作区

git reset HEAD

git reflog 命令

该命令可以产看历史版本记录

git checkout 命令

该命令用于丢弃工作区的修改,如果已添加到工作区,则是相对于工作取的修改,否则是相对于当前HEAD版本的修改

git rm 命令

该命令用于删除暂存区或版本的文件,与 git add 相对应