配置工具
给所有的本地仓库配置用户信息
- 设置提交时的用户名
$ git config --global user.name "[name]"
- 设置提交时的邮箱
$ git config --global user.email "[email address]"
- 输出高亮
$ git config --global color.ui auto
构建仓库
开始一个全新的项目或从已经存在的URL中获取
- 创建具有特殊名字的仓库
$ git init [project-name]
- 下载一个项目及其所有的版本记录
$ git clone [url]
修改
检视编辑内容并制定提交事务
- 列出即将被提交的新建的或修改的文件
$ git status
- 显示暂存区与工作区的文件差异
$ git diff
- 快照文件以准备版本控制
$ git add [file]
- 显示暂存区和本地库之间的文件差异
$ git diff --staged
- 取消暂存文件,但保留其内容
$ git reset [file]
- 在版本历史记录中永久记录此文件快照
$ git commit-m"[descriptive message]"
修改组
命名一系列提交,并组合完成的工作
- 列出当前仓库的所有分支
$ git branch
- 新建分支
$ git branch [branch-name]
- 切换分支,并且改变工作区
$ git checkout [branch-name]
- 将指定分支的历史记录合并到当前分支中
$ git merge [branch]
- 删除指定分支
$git branch -d [branch-name]
重构文件名
重新定位和删除版本化文件
- 从工作区和暂存区删除文件
$ git rm [file]
- 从暂存区中删除文件,但在本地保留该文件
$ git rm --cached [file]
- 更改文件名并准备提交
$ git mv [file-original] [file-renamed]
禁止追踪
排除临时文件和路径
- 名为.gitignore的文本文件禁止对与指定模式匹配的文件和路径进行意外版本控制
*.Log
build/
temp-* - 列出所有当前项目中被忽略的文件
$ git ls-files --other --ignored --exclude-standard
保存碎片
搁置并恢复不完整的更改
- 临时存储所有已修改的被跟踪文件
$ git stash
- 恢复最近隐藏的文件
$ git stash pop
- 列出所有存储的变更集
$ git stash list
- 丢弃最近隐藏的变更集
$ git stash drop
检视历史
浏览并检查项目文件的演变
- 列出当前分支的所有版本历史
$ git log
- 列出指定文件的所有版本历史(包含重命名)
$ git log --follow [file]
- 显示出两个分支的内容差异
$ git diff [first-branch]...[second-branch]
- 输出指定提交的元数据与修改的内容
$ git show [commit]
重做提交
消除错误并制作替代历史
- 在指定提交后撤销所有提交,在本地保留更改
$ git reset [commit]
- 丢弃所有历史记录并回滚到指定的提交
$ git reset --hard [commit]
同步更改
注册远程仓库并交换版本历史记录
- 从远程仓库下载所有历史记录
$ git fetch [bookmark]
- 将远程仓库的分支合并到当前的本地分支中
$ git merge [bookmark]/[branch]
- 将所有本地分支提交上传到GitHub
$ git push [alias][branch]
- 下载远程仓库历史记录并整合更改
$ git pull
PDF 版命令手册:github-git-cheat-sheet.pdf
Comments | NOTHING