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 |
通过 ls -ah
列出所有的隐藏文件,会发现该目录下新增了 .git
目录
git status
命令
该命令将显示仓库的当前状态,包括工作区的修改状态和暂存区的提交状态
git add
命令
该命令用于将工作区的内容添加到暂存区
例如我们在工作区新建了一个learngit.txt, 我们可以把它添加到暂存区
touch learngit.txt
git add learngit.txt
git add -u
与 git add -A
git add -u
是 git add --update
的简写,意为更新暂存区,只有被添加到暂存区的文件才会被更新git add -A
是 git 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
模式
--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
相对应