创建
git init 在当前目录创建一个本地库
git clone ssh://user@domain.tld/repo.git 在远程库克隆一个本地库
配置
git config [–global] user.name “name” 设置提交时附带的名字
git config [–global] user.emal “email” 设置提交时附带的email
git config --global color.ui auto 设置命令输出回执的颜色
git config [–global] user.name 获取当前库设置的用户名
git config [–global] user.email 获取当前库设置的email
git config --list 现实当前库的git配置
git config -e [–global] 编辑git配置文件
本地操作
git status 查看工作区内的文件修改
git diff 查看已追踪的文件的修改
git add 添加指定文件到暂存区
git add
git add 添加当前所有目录到暂存区
git rm 删除指定文件,并将这次删除添加到暂存区
git rm --cached 停止追踪制定文件,但该文件回保留在工作区
git mv 修改文件名,并将这个改名放入暂存区
代码提交日志
git log 显示所有提交日志
git log -p 显示这个文件最后一次提交日志
git log --author= 显示这个提交者最后一次提交日志
git blame 显示此文件被谁修改了
git stash 查看临时的文件变动
git stash pop 删除上一次记录储蓄新的改动记录
git rm --cached 吧此文件从过去的提交记录中删除但是保留当前本地的文件
分支
git branch 显示本地所有分支列表
git branch -r 查看所有远程分支
git branch -a 查看所有本地分支和远程分支
git checkout 切换分支
git checkout - 切换到上一分支
git branch 创建新的分支,但依旧停留在当前分支
get checkout -b 创建新的分支并切换到该分支
git merge 合并制定分支到当前分支
git branch --track 创建一个新的分支基于一个远程的分支
git branch -d 删除一个本地分支
git branch origin --delete 删除一个远程分支
git push : 重命名远程分支
git tag 给当前提交打一个tag,也可以查看当前标签
更新和提交
git remote -v 查看远程库的地址列表
git remote show 查看这个远程库的信息
git remote add 添加新的远程库
git remote rename 重命名远程库
git fetch 从远程库更新所有信息到本地,但不合并
git fetch -p 从远程更新所有信息到本地,但合并并清理已删除的远程分支
git pull 从远程库更新数据并立即合并数据
git push 将本地数据同步到远程库中
git remote add --track 追踪一个远程库
git push --tags 同步标签到远程库
git commit -m 将提交暂存到仓库区
git commit … -m 提交暂存区的制定文件到仓库区
git commit -a 提交工作区子上次commit之后的变化,直接到仓库区
git commit -v 提交时显示所有diff信息
git commit --amend -m 使用新一次的commit,替代上一次的提交。 如果代码没有新的变化,则用来修改上一次的commit信息
git commit --amend … 重做上一次的commit,并包括指定文件的新变化
撤销
git checkout 恢复暂存区的指定文件到工作区
git checkout 恢复某个指定文件到暂存区和工作区
git checkout . 恢复暂存区所有文件到工作区
git reset 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset --hard 重置暂存区与工作区,与上一次commit保持一致