346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件
git init
- 作用:初始化git仓库,想要使用git对某个项目进行管理,需要
git init
进行初始化
# 初始化仓库, 在当前目录下生成一个隐藏文件夹.git
git init
git add
- 作用:将文件由
工作区
添加到暂存区
,在git中,文件无法直接从工作区直接添加到仓库区,必须先从工作区添加到暂存区,再从暂存区添加到仓库区。【暂存过的文件除外。】 - 命令:
git add 文件名/目录名
# 将index.html添加到暂存区
git add index.html
# 将css目录下所有的文件添加到暂存区
git add css
# 将当前目录下所有的js文件添加到暂存区
git add *.js
# 添加当前目录下所有的文件
git add .
git add -A
git add --all
git commit
作用:将文件由 暂存区 添加到 仓库区,生成版本号
# 将文件从暂存区提交到仓库
git commit -m "提交说明"
# 如果不写提交说明,会进入vi编辑器,没有写提交说明,是提交不成功的。
git commit # 需要使用vi输入内容
# 退出vi编辑器:按esc键;输入 :q!;按回车,即可退出
# 如果是一个已经暂存过的文件,可以快速提交,如果是未暂存的文件,那么命令将不生效。
git commit -a -m '提交说明' 【这里的a就是add。】
# 修改最近的一次提交说明, 如果提交说明不小心输错了,可以使用这个命令
git commit --amend -m "提交说明" 【amend:修正。】
git status
-
作用:查看文件的状态
-
命令:
git status
- 红色表示工作区中的文件需要提交
- 绿色表示暂存区中的文件需要提交
-
命令:
git stauts -s
简化日志输出格式
git log
- 作用:查看提交日志
git log
查看提交的日志git log --oneline
简洁的日志信息
git对比
git diff
git diff
可以查看每次提交的内容的不同
# 查看工作区与暂存区的不同
git diff
# 查看暂存区与仓库区的不同
git diff --cached
# 查看工作区与仓库区的不同,HEAD表示最新的那次提交
git diff HEAD
# 查看两个版本之间的不同
git diff c265262 de4845b 【后面的版本 和 前面的版本比较,少了、多了、一样】
暂存区新增了内容
git重置
git reset
- 作用:版本回退,将代码恢复到已经提交的某一个版本中。
git reset --hard 版本号
:将代码回退到某个指定的版本(版本号只要有前几位即可)git reset --hard head~1
:将版本回退到上一次提交- ~1: 上一次提交
- ~2: 上上次提交
- ~0: 当前提交
关于参数 --hard的解释
git reset 的参数可以是以下三个值:
git reset --soft 版本号 : 只重置仓库区 (了解)
git reset --mixed 版本号 : 重置仓库区和暂存区【默认】(了解)
git reset --hard 版本号 : 重置仓库区、暂存区、工作区。
git reset 版本号 : 效果与--mixed一致
-
当使用了
git reset
命令后,版本会回退,使用git log
只能看到当前版本之前的信息,使用git reflog
可以查看所有的版本信息
git忽视文件
在仓库中,有些文件是不想被git管理的,比如数据的配置密码、写代码的一些思路等。git可以通过配置从而达到忽视掉一些文件,这样这些文件就可以不用提交了。
- 在仓库的根目录创建一个
.gitignore
的文件,文件名是固定的。 - 将不需要被git管理的文件路径添加到
.gitignore
中
# 忽视idea.txt文件
idea.txt
# 忽视.gitignore文件
.gitignore
# 忽视css下的index.js文件
css/index.js
# 忽视css下的所有的js文件
css/*.js
# 忽视css下的所有文件
css/*.*
# 忽视css文件夹
css