Git-基础

103 阅读2分钟

配置

  1. 显示所有配置
git config --list
// 简写 
git config -l
  1. 添加全局配置
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
  1. 为本地的工程添加单独的配置,使用不同的用户名和密码
 git config --local user.name xxx
 git config --local user.email xxx@xxx.com

常见操作

  1. base
git add
git commit -m ''
  1. 给文件重命名的基本方法
git mv [file] [newfile]
  1. 查看版本演变
git log 
git log --oneline // 查看git commit的列表,一行显示
git log --pretty=oneline // 一行显示,只显示哈希值和提交说明
git log -n4 --oneline   // 指定最近的4个commit 查看演变列表
git log --graph  // 显示ASCII图形表示的分支合并历史

// 查看分支
git branch -v

// 创建一个临时的分支,这个分支的版本来自于现有版本的某一次提交
git checkout -b temp(分支名) 412da1q1r(某一次提交的commitID)

// 查看所有分支的log信息
git log --all

// 查看所有分支的log信息,并将其稍做有一定图形化的方式展示
git log --all --graph
  1. .git目录
  • HEAD:记录当前工作区的分支名,指向当前的工作路径
  • config:存放当前仓库使用的配置文件,存储当前用户名和邮箱还有一些其他的
 git cat-file 命令 显示版本库对象的内容、类型及大小信息。
 git cat-file -t  显示版本库对象的类型
 git cat-file -s  显示版本库对象的大小
 git cat-file -p  显示版本库对象的内容
  • refs/heads:存放分支
  • refs/tags:存放tags
  • objects:存放对象
  1. HEAD和branch
  • 指代新分支的最后一次提交
  • 不跟分支挂钩,指向某个commit
  • 分支切换时,HEAD指向新分支
// 根据某个分支,新建分支并切换    HEAD指向新分支
git checkout -b <newName> <branchName>

// 比较差异 两个commit信息
git diff <commit1> <commit2>

git diff HEAD HEAD^1
git diff HEAD HEAD~1  // HEAD~1 指的是父级commit
git diff HEAD HEAD~2  // HEAD~2 指的是父级的父级commit 等同于 HEAD^^ 或者 HEAD^1^1