开发工具
咕噜Git速查
常用Git命令快速查找与复制
初始化仓库
基础在当前目录创建一个新的Git仓库
git init克隆仓库
基础从远程仓库克隆项目到本地
git clone <url><url>远程仓库地址
查看状态
基础查看工作区和暂存区的状态
git status添加文件到暂存区
基础将文件添加到暂存区,准备提交
git add <file><file>文件路径,使用 . 添加所有文件
添加所有文件
基础将所有修改的文件添加到暂存区
git add .提交更改
基础将暂存区的更改提交到本地仓库
git commit -m "<message>"<message>提交信息
添加并提交
基础添加已跟踪文件并提交(跳过git add)
git commit -am "<message>"<message>提交信息
查看分支
分支列出所有本地分支
git branch查看所有分支
分支列出所有本地和远程分支
git branch -a创建分支
分支创建一个新分支
git branch <branch-name><branch-name>新分支名称
切换分支
分支切换到指定分支
git checkout <branch-name><branch-name>目标分支名称
创建并切换分支
分支创建新分支并立即切换到该分支
git checkout -b <branch-name><branch-name>新分支名称
合并分支
分支将指定分支合并到当前分支
git merge <branch-name><branch-name>要合并的分支名称
删除分支
分支删除已合并的分支
git branch -d <branch-name><branch-name>要删除的分支名称
强制删除分支
分支强制删除分支(即使未合并)
git branch -D <branch-name><branch-name>要删除的分支名称
查看远程仓库
远程查看所有远程仓库的详细信息
git remote -v添加远程仓库
远程添加一个新的远程仓库
git remote add <name> <url><name>远程仓库名称(通常为origin)
<url>远程仓库地址
拉取远程更新
远程从远程仓库拉取并合并更新
git pull <remote> <branch><remote>远程仓库名称
<branch>分支名称
推送到远程
远程将本地提交推送到远程仓库
git push <remote> <branch><remote>远程仓库名称
<branch>分支名称
推送新分支到远程
远程推送新分支并设置上游跟踪
git push -u <remote> <branch><remote>远程仓库名称
<branch>分支名称
删除远程分支
远程删除远程仓库的分支
git push <remote> --delete <branch><remote>远程仓库名称
<branch>要删除的分支名称
查看提交历史
历史查看完整的提交历史
git log简洁历史
历史以简洁的单行格式显示提交历史
git log --oneline图形化历史
历史以图形方式显示所有分支的提交历史
git log --oneline --graph --all查看文件历史
历史查看指定文件的修改历史
git log -p <file><file>文件路径
查看差异
历史查看工作区与暂存区的差异
git diff查看暂存差异
历史查看暂存区与最新提交的差异
git diff --staged查看提交间差异
历史查看两个提交之间的差异
git diff <commit1> <commit2><commit1>起始提交
<commit2>结束提交
暂存当前更改
暂存将当前工作区的更改暂存起来
git stash暂存并添加备注
暂存暂存更改并添加描述信息
git stash save "<message>"<message>暂存描述
查看暂存列表
暂存查看所有暂存的更改
git stash list应用暂存
暂存应用最近的暂存并从列表中删除
git stash pop应用指定暂存
暂存应用指定的暂存(保留在列表中)
git stash apply stash@{<n>}<n>暂存序号
删除暂存
暂存删除指定的暂存
git stash drop stash@{<n>}<n>暂存序号
清空所有暂存
暂存删除所有暂存的更改
git stash clear查看标签
标签列出所有标签
git tag创建轻量标签
标签创建一个轻量标签
git tag <tag-name><tag-name>标签名称
创建附注标签
标签创建一个带注释的标签
git tag -a <tag-name> -m "<message>"<tag-name>标签名称
<message>标签注释
推送标签到远程
标签将标签推送到远程仓库
git push <remote> <tag-name><remote>远程仓库名称
<tag-name>标签名称
推送所有标签
标签推送所有标签到远程仓库
git push <remote> --tags<remote>远程仓库名称
删除标签
标签删除本地标签
git tag -d <tag-name><tag-name>标签名称
撤销工作区修改
撤销撤销工作区文件的修改
git checkout -- <file><file>文件路径
撤销暂存
撤销将文件从暂存区移出
git reset HEAD <file><file>文件路径
软重置
撤销重置到指定提交,保留更改在暂存区
git reset --soft <commit><commit>提交哈希或引用
混合重置
撤销重置到指定提交,保留更改在工作区
git reset --mixed <commit><commit>提交哈希或引用
硬重置
撤销重置到指定提交,丢弃所有更改
git reset --hard <commit><commit>提交哈希或引用
撤销提交
撤销创建一个新提交来撤销指定提交
git revert <commit><commit>要撤销的提交哈希
变基
高级将当前分支变基到指定分支
git rebase <branch><branch>目标分支名称
交互式变基
高级交互式变基,可编辑、合并提交
git rebase -i <commit><commit>起始提交
挑选提交
高级将指定提交应用到当前分支
git cherry-pick <commit><commit>提交哈希
清理未跟踪文件
高级删除未跟踪的文件和目录
git clean -fd二分查找
高级开始二分查找定位问题提交
git bisect start查看引用日志
高级查看HEAD的移动历史
git reflog