Git命令速查手册
写的比较简单的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 数据分布图
工作区->暂存区->仓库