嗯,也算用了挺久的git了吧,虽然只有三个月,整理一下常用的命令什么的。
配置
git config --global user.name "Echo009" #配置用户名
git config --global user.email "extreme.lll@echo0.cn" #配置邮箱
# 除了 global 还有local以及system
# 其中local只影响当前仓库的配置
# global影响当前用户下的所有仓库的配置
# system 则是影响系统下的所有用户的配置
初始化一个仓库
git init
查看状态信息
git status
状态可分为两种 : 文件状态和内容状态 。
文件状态分为 未跟踪 和 已跟踪 。
内容状态分为 工作目录 , 暂存区 以及 提交区
添加文件到暂存区
git add . # 添加当前目录下的所有文件添加到暂存区,
# 但不包括.gitignore文件中指定的内容,
# 同时该文件会被跟踪
从暂存区删除文件
git rm --cached fileName # 仅从暂存区删除文件
git rm fileName # 从工作区和暂存区删除文件
git rm $(git ls-files --deleted) #删除所有被跟踪且在工作区已经被删除的文件
提交
git commit -m "commit message" # 将暂存区的内容提交
git commit -a -m "commit message" # 将工作区内容添加到暂存区,并提交
查看提交记录
git log # 详细信息
git log --oneline # 简要信息
查看差异信息
git diff # 查看工作目录与暂存区的差异
撤销本地修改
git checkout --fileName # 将文件内容从暂存区复制到工作目录
撤销暂存区的修改
git reset HEAD fileName # 将文件内容从上次提交复制到暂存区
撤销全部改动
git checkout HEAD --fileName # 将内容从上次提交复制到工作目录
创建,切换分支
git branch branchName # 创建分支
git checkout branchName # 切换分支
git checkout -b branchName # 创建分支并切换到该分支
查看分支
git checkout -v
版本回退
git reset --hard versionHasCode # 将工作区以及暂存区回退到versionHashCode指定的版本
#其中 versionHashCode 可用 ^ 的形式替代,比如 HEAD^ 指上一次的提交
合并分支
git merge
git merge --no-ff # 不使用快速合并,保证分支合并信息会被保留下来