【前端】Git 常用

文章目录

  • [一、git 配置](#一、git 配置)
    • [1.1 查看系统配置](#1.1 查看系统配置)
    • [1.2 查看当前用户配置](#1.2 查看当前用户配置)
    • [1.3 查看当前git用户名](#1.3 查看当前git用户名)
    • [1.4 查看当前git邮箱](#1.4 查看当前git邮箱)
    • [1.5 查看当前仓库配置信息](#1.5 查看当前仓库配置信息)
    • [1.6 修改git用户名](#1.6 修改git用户名)
    • [1.7 修改git邮箱](#1.7 修改git邮箱)
  • [二、git 常用命令](#二、git 常用命令)
    • [2.1 git init](#2.1 git init)
    • [2.2 git clone](#2.2 git clone)
    • [2.3 git status](#2.3 git status)
    • [2.4 git add](#2.4 git add)
    • [2.5 git commit](#2.5 git commit)
    • [2.5 git log](#2.5 git log)
    • [2.6 git pull](#2.6 git pull)
    • [2.7 git push](#2.7 git push)
    • [2.8 git fetch](#2.8 git fetch)
  • 三、分支
    • [3.1 git branch](#3.1 git branch)
    • [3.2 git checkout](#3.2 git checkout)
    • [3.3 git merge](#3.3 git merge)
  • 四、回滚
    • [4.1 仓库+暂存区回滚](#4.1 仓库+暂存区回滚)
    • [4.2 暂存区回滚](#4.2 暂存区回滚)
    • [4.3 仓库回滚](#4.3 仓库回滚)
    • [4.4 本地+仓库+暂存区回滚](#4.4 本地+仓库+暂存区回滚)
    • [4.5 远程仓库回滚](#4.5 远程仓库回滚)

一、git 配置

查看当前git环境详细配置

复制代码
git config -l

1.1 查看系统配置

复制代码
git config --system --list

配置文件在git安装目录/etc/gitconfig

1.2 查看当前用户配置

复制代码
git config --global --list

1.3 查看当前git用户名

复制代码
git config user.name

1.4 查看当前git邮箱

复制代码
git config user.email

1.5 查看当前仓库配置信息

复制代码
git config --local --list

配置文件在:当前项目的/.git/config

1.6 修改git用户名

复制代码
git config --global user.name "用户名"

1.7 修改git邮箱

复制代码
git config --global user.email "邮箱"

二、git 常用命令

2.1 git init

当前目录新建一个仓库

复制代码
 git init

2.2 git clone

克隆一个远程仓库

复制代码
git clone [url]

2.3 git status

查看所有文件状态

复制代码
git status

查看指定文件状态

复制代码
git status [file-name]

2.4 git add

添加当前目录下的所有文件到暂存区:

复制代码
git add .

将工作区被修改的文件和被删除的文件提交到暂存区,不包括新增的文件

u指update

复制代码
git add -u .

将工作区被修改,被删除,新增的文件都提交到暂存区

-A指all

复制代码
git add -A .

从工作区添加指定文件到暂存区

复制代码
git add [file1] [file2] ...

2.5 git commit

提交暂存区到仓库区

复制代码
git commit -m [message]

提交暂存区的指定文件到仓库区

复制代码
git commit [file1] [file2] -m [message]

示例:git commit src/commit.js -m "提交commit.js修改"

2.5 git log

显示所有commit日志

复制代码
git log

查看分支合并情况

复制代码
git log --graph --pretty=oneline --abbrev-commit

查看分叉历史

复制代码
git log --oneline --decorate --graph --all

查看最新3条commit日志数据

复制代码
git log -3

2.6 git pull

从远程仓库拉取代码到工作区

复制代码
git pull

2.7 git push

将文件提交到远程仓库

复制代码
git push

强制提交

复制代码
git push -f

推送当前本地分支到指定远程分支

复制代码
git push origin [branch-name]

2.8 git fetch

下载远程仓库的所有变动

复制代码
git fetch [remote]

三、分支

3.1 git branch

查看所有本地分支

复制代码
git branch

查看所有远程分支

复制代码
git branch -r

查看本地和远程的所有分支

复制代码
git branch -a

新建一个分支,但依然停留在当前分支

复制代码
git branch [branch-name]

新建一个分支,并切换到该分支

复制代码
git checkout -b [branch-name]

删除分支

复制代码
git branch -d [branch-name]

删除远程分支

复制代码
git push origin --delete [branch-name]

3.2 git checkout

切换到指定分支,并更新工作区

复制代码
git checkout [branch-name]

新建一个分支,并切换到该分支

复制代码
git checkout -b [branch-name]

切换到上一个分支

复制代码
git branch -

3.3 git merge

合并指定分支到当前分支

复制代码
git merge [branch-name]

四、回滚

4.1 仓库+暂存区回滚

将仓库与暂存区回滚到指定版本,工作区不变

也就是说恢复到git add .之前的状态

不支持仅回退单个文件

命令:

复制代码
git reset [HEAD]

HEAD说明:

  • HEAD 表示当前版本
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • HEAD^^^ 上上上一个版本

可以使用 ~数字表示

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本
  • HEAD^2 上上一个版本
  • HEAD^3 上上上一个版本示例:
  • 示例:
    回退上个版本

    复制代码
    git reset HEAD^
    或
    git reset HEAD~1

回退指定版本(版本号通过git log查看):

复制代码
git reset 9e8f2f858ae03944bab4ac19c927699ba367b941

回退上上个版本:

复制代码
  git reset HEAD^^
  或
  git reset HEAD~2

4.2 暂存区回滚

通过git add .添加到暂存区后,重置暂存区,与上一次commit保持一致,但工作区不变

撤回所有:

复制代码
git reset

复制代码
git reset HEAD

撤回指定文件:

复制代码
git reset [file]

例:

复制代码
git reset src/index.js

4.3 仓库回滚

已经通过git commit提交后,回滚到暂存区

也就是说,恢复到add后的状态

命令:

复制代码
git reset --soft [HEAD]

HEAD说明与4.1一致

示例:回退上个版本

复制代码
git reset --soft HEAD^
或
git reset --soft HEAD~1

4.4 本地+仓库+暂存区回滚

将本地、暂存、git仓库都回滚到指定版本

也就是所有内容都会恢复到上个版本,包括本地工作区内的所有修改

使用的时候要注意,它会删除回退点之前的所有信息

命令:

复制代码
git reset --hard [HEAD]

HEAD说明与4.1一致

示例:

回退上个版本

复制代码
git reset --hard HEAD^
或
git reset --hard hEAD~1

回退指定的版本

复制代码
git reset --hard 4f0cf3710b839e31ce3b5093f0d8fb0ad36e8c95

4.5 远程仓库回滚

步骤:先将本地版本回退到上一个版本,再push推送到远程仓库

示例:

复制代码
// 先回退本地仓库版本(注意--hard所有内容都会恢复到上个版本,包括本地工作区内的所有修改)
git reset --hard HEAD^
  
// 再提交到远程仓库
git push -f
相关推荐
柚几哥哥4 分钟前
IntelliJ IDEA全栈Git指南:从零构建到高效协作开发
java·git·intellij-idea
遇到困难睡大觉哈哈24 分钟前
Git推送错误解决方案:`rejected -> master (fetch first)`
大数据·git·elasticsearch
ON.LIN1 小时前
Git提交本地项目到Github
git·github
九月镇灵将1 小时前
6.git项目实现变更拉取与上传
git·python·scrapy·scrapyd·gitpython·gerapy
wuyijysx1 小时前
ubuntu git cola gui
git·软件工具
九月镇灵将3 小时前
GitPython库快速应用入门
git·python·gitpython
程序猿chen4 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
前端三叶草7 小时前
git subtree 最佳实践
git
Code_Geo9 小时前
Git操作指南
git
阳光_你好11 小时前
解决用git bash终端 tail -f 命令查看日志中文乱码问题
开发语言·git·bash