写的比较简单的Git命令速查手册
ctrl+f 输入关键词快速查询
本文会不断补充常用的操作命令

表明你的身份

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

基础部分

创建本地仓库

mkdir bucket
cd bucket
git init

添加文件并提交

touch file1 file2
git add file1 file2 or git add file*
git commit -m "add 2 files"

比较工作区版本和仓库差异

nano file1
save file1
git diff HEAD -- file1

比较工作区版本和暂存区版本差异

nano file1
save file1
git diff file1

丢弃修改 (如果暂存区存在 就从暂存区恢复 没有则从仓库恢复)

nano file1
save file1
git status
git checkout -- file1

撤销暂存区的内容 工作区不变

nano file1
save file1
git add file1
git reset HEAD file1

查看最近提交

git log [--pretty=oneline]

退回历史版本 HEAD:当前版本 HEAD^ :上个版本 HEAD^^ 上上个版本 == HEAD~2

git reset --HEAD HEAD^
git reset --HEAD 3628164 (commit id)

查看操作记录(获取commit id)

git reflog

删除暂存区文件

git rm --cache file1

删除工作区和暂存区的文件

git rm -f file1

远程仓库

推送项目到远程仓库

git remote add origin git@https://github.com/coderstory/flyme6helper.git
git push -u origin master

从远程仓库克隆

git clone https://github.com/coderstory/flyme6helper.git

推送commit到远程

git commit - m “some changes for modules”
git push origin master

提交本地仓库的commit到其他的仓库

git push https://github.com/b/b.git my_branch_name:remote_branch_name

给远程仓库创建分支

git checkout -b dev origin/dev

获取远程仓库的分支

git checkout -b 本地分支名 远程分支名

查看远程分支

git branch –r

列出已经存在的远程分支

git remote [-v]

添加远程仓库

git remote add origin git://github.com/paulboone/ticgit.git

修改远程仓库 url 【切换远程仓库】

git remote origin set-url [url]

删除远程仓库

git remote rm origin‘

从远程仓库更新本地仓库

git pull -r

分支操作

创建分支

git branch

创建并切换项目分支

git checkout -b dev

查看分支情况

git branch

将已经commit的代码提交到其他分支

git log (获取commit id)
git checkout dev (切换到需要得到commit的分支)
git cherry-pick [commit id]

切换分支

git checkout master

合并分支 (dev合并到master)

git merge dev

合并分支(保留分支内部的commit信息)

git merge --no-ff -m "merge with no-ff" dev

分支合并,解决冲突

git merge dev
提示冲突的文件
查看冲突的文件 发现冲突的内容都在文件里面
手动解决冲突
git add file1
git commit -m "conflict fixed"

删除分支

git branch -d dev

强制删除分支(未合并的分支)

git branch -D feature-vulcan

快照操作

创建快照

git stash save "stash name"

恢复快照

git stash apply

恢复并删除快照

git stash pop

删除快照

git stash drop

TAG标签

创建Tag

git tag v1.0
git tag v0.9 6224937
git tag -a v0.1 -m "version 0.1 released" 3628164

查看Tag

git tag

查看具体Tag详情

git show v0.9

删除标签

git tag -d v0.1

推送tag到远程

git push origin 单个
git push origin --tags 所有远程不存在的tag

删除远程tag

git tag -d v0.9 先删除本地
git push origin :refs/tags/v0.9 删除远程

Git配置

创建忽略配置文件

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa

强制添加被忽略的文件

git add -f App.class

设置git命令别名

git config --global alias.st status git status -> git st
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD' 删除暂存区文件
git config --global alias.last 'log -1' 显示最近一次提交
git config --global alias.lg "log --color --graph
--pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" 优化的最近提交记录

git 数据分布图

git 配置文件目录
.git/config

git 数据分布图

工作区->暂存区->仓库

届ける言葉を今は育ててる
最后更新于 2017-10-13