初始全局配置

# 配置用户
git config --global user.name sobird
git config --global user.email x@sobird.me

# 配置rebase
git config --global pull.rebase false

# 文件名大小写敏感
git config --global core.ignorecase false

# 配置git push使用当前分支
git config --global push.default current

# 使用编辑器进行commit log编写
git config --global core.editor "code -w"

命令别名配置

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch

或者打开git的全局配置文件

git config --global -e

# 填入下面内容
[alias]
        st = status
        co = checkout
        ci = commit
        br = branch

分支相关操作

# 查看本地分支
git branch -l

# 查看所有分支
git branch -a

# 删除分支
git branch -d branchName

# 删除远程分支
git push origin -d branchName

# 同步远程已删除的分支到本地
git remote prune origin

# 快递切回上个分支
git checkout -

# 创建一个空白分支
git checkout --orphan newBranchName
git rm -rf .

# 从当前分支的某一个commit创建分支
git checkout commitId -b newBranchName

# 不同提交历史分支进行合并
git merge branchName --allow-unrelated-histories

# 将project仓库中test目录抽出为新的branch
git subtree split -P test -b test-new-br

commit相关操作

# 修改最新的commit内容或将当前的提交合并到上次历史提交
git commit --amend

# 修改用户名和邮箱
git commit --amend --author="sobird <x@sobird.me>"

# 将指定的commit应用于其他分支
git cherry-pick commitId

git reset

git reset HEAD^

# 或
git reset commitId

# --mixed  reset HEAD and index 这是默认参数 等价于执行 git reset HEAD^ 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

# --soft reset only HEAD 不删除工作空间改动代码,撤销commit,不撤销git add . 操作

# --hard reset HEAD, index and working tree 删除工作空间改动代码,撤销commit,撤销git add . 完成这个操作后,就恢复到了上一次的commit状态

其他

# 保存现场
git stash

# 查看
git stash list

# 回复并删除stash
git stash pop

# 删除未跟踪的文件和目录
git clean -fd

# 删除文件(删除所有文件)
git rm -rf *

# 恢复删除的文件
git checkout HEAD *

# 导出归档文件
git archive --format=tar -o archive.tar HEAD

# 查看过往的每一次命令
git reflog