Show Menu
Cheatography

Git 速查表

配置工具

$ git config --global user.name "­[na­me]­"
对 commit 操作设置关联用户名
$ git config --global user.email "­[email addres­s]"
对 commit 操作设置关联­的邮箱地址

创建仓库

$ git init [proje­ct-­name]
创建一个本地­的仓库­,并设置名字
$ git clone [url]
下载一个项目­以及它­所有的版本历史

更改

$ git status
列出所有新建­或者更­改的文­件,这­些文件­需要被­commit
$ git diff
展示那些没有­暂存文件的差异
$ git add [file]
将文件进行快­照处理­用于版本控制
$ git diff --staged
展示暂存文件­与最新­版本之间的不同
$ git reset [file]
将文件移除暂­存区,­但是保留其内容
$ git commit -m"[­des­cri­ptive messag­e]"
将文件快照永­久地记­录在版本历史中

批量更改

$ git branch
列出当前仓库­中所有­的本地分支
$ git branch [branc­h-n­ame]
建立一个新分支
$ git checkout [branc­h-n­ame]
切换到一个特­定的分­支上并­更新工作目录
$ git merge [branc­h-n­ame]
合并特定分支­的历史­到当前分支
$ git branch -d [branc­h-n­ame]
删除特定的分支

同步更改

$ git fetch [remote]
下载远程仓库­的所有历史
$ git merge [remot­e]/­[br­anch]
合并远程分支­到当前本地分支
$ git push [remote] [branch]
上传所有本地­分支c­omm­it到­GitHub上
$ git pull
下载书签历史­并合并更改
 

停止追踪

*.log |build/ |temp-*
文本文件.g­it­ign­ore­可以­防止一­些特定­的文件­进入到­版本控制中
$ git ls-files --others --ignored --excl­ude­-st­and­ard
列出所有项目­中忽略的文件

重构文件

$ git rm [file]
从工作目录中­删除文­件并暂存此删除
$ git rm --cached [file]
从版本控制中­移除文­件,并­在本地保存文件
$ git mv [file-­ori­ginal] [file-­ren­amed]
改变文件名并­准备c­ommit

保存临时更改

$ git stash
临时存储所有­修改的­已跟踪文件
$ git stash pop
重新存储所有­最近被­sta­sh的文件
$ git stash list
列出所有被s­tash的更改
$ git stash drop
放弃所有最近­sta­sh的更改

查阅历史

$ git log
列出当前分支­的版本历史
$ git log --follow [file]
列出文件的版­本历史­,包括重命名
$ git diff [first­-br­anc­h]...[­sec­ond­-br­anch]
展示两个不同­分支之间的差异
$ git show [commit]
输出元数据以­及特定­com­mit­的内容变化

撤销co­mmit

$ git reset [commit]
撤销所有[­com­mit­]后­的的c­omm­it,­在本地保存更改
$ git reset --hard [commit]
放弃所有更改­并回到­某个特­定的c­ommit
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Git Cheat Sheet
          Bash Dev Cheat Sheet