1. 基础操作

初始化本地库

  1. git init

显示当前的 Git 配置

  1. git config --list

空格向下翻页,b 向上翻页,q 退出

编辑 Git 配置文件

  1. git config -e [--global]

查看提交代码时的用户名

  1. git config user.name

查看提交代码时的用户邮箱

  1. git config user.email

设置提交代码时的用户名

  1. git config [--global] user.name "{username}"

设置提交代码时的用户邮箱

  1. git config [--global] user.email "{email}"

查看工作区、暂存区的状态

  1. git status

将工作区的“新建/修改”添加到暂存区

  1. git add {filename}

移除暂存区的修改

  1. git rm --cached {filename}

将暂存的修改提交

  1. git commit -m "{提交日志}" {filename}

2. 日志

查看历史日志

  1. git log

空格向下翻页,b 向上翻页,q 退出。

以漂亮的一行显示日志,包含全部哈希索引值

  1. git log --pretty=oneline

以简洁的一行显示日志,包含简洁哈希索引值

  1. git log --oneline

以简洁的一行显示,包含简洁哈希索引值,同时显示移动到某个历史版本所需的步数

  1. git reflog

3. 版本控制

回到指定哈希值所对应的版本

  1. git reset --hard {简洁/完整哈希索引值}

如果不加哈希索引值,则默认恢复至上一个版本

强制工作区、暂存区、本地库为当前 HEAD 指针所在的版本

  1. git reset --hard HEAD

后退一个版本

  1. git reset --hard HEAD^

一个“ ^ ”表示回退一个版本

后退一个版本

  1. git reset --hard HEAD~1

波浪线“ ~ ”后面的数字表示后退的版本数

4. 比较差异

比较工作区和暂存区的所有文件差异

  1. git diff

比较工作区和暂存区的指定文件的差异

  1. git diff {filename}

比较工作区跟本地库的某个版本的指定文件的差异

  1. git diff {HEAD|HEAD^|HEAD~|哈希索引值} {filename}

5. 分支操作

查看所有分支

  1. git branch -v

删除本地分支

  1. git branch -d {branchname}

新建分支

  1. git branch {branchname}

切换分支

  1. git checkout {branchname}

合并分支

  1. git merge {branchname}

如果 master 分支合并 temp 分支,那么当前必须处于 master 分支上,然后执行 git merge temp 命令。

6. 与远程仓库交互

克隆远程仓库

  1. git clone {远程仓库地址}

将远程仓库完整地克隆到本地并初始化本地仓库,新建 origin 别名

查看远程仓库地址

  1. git remote -v

新增远程库地址

  1. git remote add {别名} {远程仓库地址}

删除指定的远程仓库

  1. git remote rm {别名}

将指定分支推送到远程仓库

  1. git push {别名} {分支名}

把远程仓库的修改拉取到本地

  1. git pull {别名} {分支名}

该命令包括 git fetchgit merge

拉取远程库的指定分支,但不与本地仓库合并

  1. git fetch {别名} {远程仓库分支名}

将拉取的远程仓库的分支与当前所在本地分支进行合并

  1. git merge {别名/远程仓库分支名}