346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

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 简化日志输出格式

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件


git log

  • 作用:查看提交日志
  • git log 查看提交的日志
  • git log --oneline 简洁的日志信息

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件


git对比

git diff

git diff可以查看每次提交的内容的不同

# 查看工作区与暂存区的不同
git diff

# 查看暂存区与仓库区的不同
git diff --cached

# 查看工作区与仓库区的不同,HEAD表示最新的那次提交
git diff HEAD

# 查看两个版本之间的不同
git diff c265262 de4845b 【后面的版本 和 前面的版本比较,少了、多了、一样】

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件


暂存区新增了内容

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件


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可以查看所有的版本信息

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件

346 git基本命令:git init,git add,git commit,git status,git log,git diff,git reset,git忽视文件


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