git管理-命令的使用和作用

189 阅读5分钟

Git

安装环境

下载地址

  • git的两种使用方式

    • 1、git gui -- 图形化界面方式
    • 2、git bash -- 命令行方式

git的命令

初始化 git init

  • 作用:初始化git仓库

git仓库

  • git仓库分为三个区

    • 1、工作区:写代码的地方就是工作区。
    • 2、暂存区:暂时存储的区域,在git中无法直接从工作区提交到仓库区,需要先提交到暂存区
    • 3、 本地仓库:将保存在暂存区的内容永久转存到本地仓库,生成版本号。

git的基础命令

git status

  • 作用:查看文件的状态

    • 红色:工作区的内容没有提交
    • 绿色:表示暂存区中还有内容没有保存到本地仓库
  • 编辑器中的标识

    • U:未被追踪的文件,说明还没有把文件提交到暂存区(add)
    • A:文件提交到暂存区,但没有保存到本地仓库
    • M:文件被修改,且没有提交
    • C:文件冲突

git add

  • 作用:将文件从工作区提交到暂存区

  • 命令: 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输入内容

# 如果是一个已经暂存过的文件,可以快速提交,如果是未追踪的文件,那么命令将不生效。
git commit -a -m '提交说明'

# 修改最近的一次提交说明, 如果提交说明不小心输错了,可以使用这个命令
git commit --amend -m "提交说明"

git log

  • 作用:查看提交日志

git reflog

  • 作用:查看所有的日志

git log --oneline

-作用:每一个提交日志在显示

git diff

  • 作用:可以查看每次提交的内容的不同
# 查看工作区与暂存区的不同
git diff

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

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

# 查看两个版本之间的不同
git diff c265262 de4845b

git reset

  • 作用:版本回退

  • git reset --hard 版本号 将代码回退到某个指定的版本(版本号只要有前7位即可)

  • git reset --hard head~1将版本回退到上一次提交

    • ~1:上一次提交
    • ~2:上上次提交
    • ~0:当前提交

git 忽略文件

  • 作用:把一些不需要提交的文件忽略掉
  1. 在仓库的根目录创建一个.gitignore的文件。
  2. 将不需要被git管理的文件路径添加到.gitignore文件中
# 忽视idea.txt文件
idea.txt

# 忽视css下的index.js文件
css/index.js

# 忽视css下的所有的js文件
css/*.js

# 忽视css下的所有文件
css/*.*
# 忽视css文件夹
css

git 的分支操作

创建分支

git branch 分支名称

  • 创建分支,分支中代码与创建前的一样
  • git默认的主分支是master
  • 例如: git branch dev,创建一个dev分支

查看分支

  • git branch :查看所有的分支
  • 当前的分支前面有一个*

切换分支

git checkout 分支名称

  • 作用:切换分支
  • 当前分支上的操作都不会影响其他分支,除非合并分支
  • 提交代码时,会生产版本号,当前分支会指向最新的版本号。

创建并切换分支

git checkout -b 分支名称

  • 作用:创建并切换分支

合并分支

git merge 分支名称

  • 作用:将其他分支合并到当前的分支

合并分支的冲突

  • 如果同一个文件中,有多个分支需要合并,这时就容易产生冲突
  • 合并分支时,如果出现冲突,只能手动处理,再次提交。一般的作法,把自己的代码放到冲突代码的后面即可。

删除分支

git branch -d 分支名称

  • 作用:删除分支
    • 注意:不能在当前的分支上删除自身分支。

git远程仓库

推送代码

git push

  • 作用:将本地仓库中的代码提交到远程仓库
  • git push 仓库地址 master 在代码提交到远程仓库。注意master分支必须写,不能省略
  • 第一次使用,需要填写github|gitee的用户名和密码

拉取代码

git pull

  • 作用:将远程的代码下载到本地

  • 通常在push前,需要先pull一次

  • git pull 仓库地址 master 在代码提交到远程仓库。注意master分支必须写,不能省略

git clone

  • 作用:将远程仓库的代码完整的克隆到本地
  • git clone [远程仓库地址]
  • 克隆会默认远程仓库的项目的名字。克隆项目名字可以修改。例如,git clone [远程仓库地址] [本地项目名]

设置远程仓库的别名

git remote

  • 由于每次推送代码都需要带上远程仓库的地址,git remote命令就是给远程仓库设置一个别名,方便操作。
# 给远程仓库设置一个别名
git remote add 仓库别名 仓库地址
git remote add autumnFish git@github.com:autumnFish/test.git

# autumnFish
git remote remove autumnFish

# 检查是否关联成功
git remote -v

# 一般情况需要先pull一下:git pull origin master

# push到远程库:
git push -u autumnFish master
git push
git pull

# git clone的仓库默认有一个origin的别名