Git是开放源代码的分布式版本控制系统,可促进笔记本电脑或台式机上的GitHub活动。该备忘单总结了常用的Git命令行说明,以供快速参考。
安装
GitHub提供了桌面客户端,其中包括用于最常见存储库操作的图形用户界面,以及用于高级场景的自动更新的Git命令行版本。
GitHub for Windows htps://windows.github.com
GitHub for Mac htps://mac.github.com
Git for All Platforms htp://git-scm.com
Linux和POSIX系统的Git发行版可在Git SCM官方网站上找到。
配置工具
为所有本地存储库配置用户信息
$ 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]
更改文件名并准备提交
抑制追踪
排除临时文件和路径
*.log build/ temp-*
名为.gitignore的文本文件可禁止与指定模式匹配的文件和路径的意外版本控制
$ 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]
撤消[commit]之后的所有提交,本地保存更改
$ git reset --hard [commit]
放弃所有历史记录并更改回指定的提交
同步更改
注册存储库书签并交换版本历史记录
$ git fetch [bookmark]
从存储库书签下载所有历史记录
$ git merge [bookmark]/[branch]
将书签的分支合并到当前的本地分支
$ git push [alias] [branch]
将所有本地分支提交上传到GitHub
$ git pull
下载书签历史记录并合并更改