git常用命令
git config –(system | global | local) <section.key> <value>
配置git, system表示为系统所有用户的所有仓库配置,配置文件在
- user.name - 作者名
- user.email - 作者邮箱
- core.editor - 默认编辑器
- merge.tool - 冲突解决工具
git config –list
列出所有git配置项,按system->global->local的顺序展示
git remote add origin git@github.com:bob/demo
添加远程仓库git@github.com:bob/demo, 名字是origin
git remote rm origin
删除远程仓库origin
git remote
列出所有远程仓库, 只显示名称
git remote -v
列出所有远程仓库名称及对应的url
git remote rename origin repo
把远程仓库origin的名字改为repo
git clone git@github.com:bob/demo demo
克隆远程仓库git@github.com:bob/demo到本地目录demo,如果没有传最后一个参数,则以远程仓库的名字创建新目录
git branch dev_1_0
创建分支dev_1_0
git branch dev_1_0 8187cf1
从8187cf1这个提交创建dev_1_0分支
git checkout dev_1_0
切换到dev_1_0分支
git checkout -b dev_1_0
创建并切换到新的分支dev_1_0, 相当于git branch dev_1_0和git checkout dev_1_0
git checkout – a/b.c
从暂存区中检出文件a/b.c,相当于将文件a/b.c恢复到最后一个提交的版本
git checkout – .
从暂存区中检出当前目录下的所有文件,相当于将当前目录下的所有文件恢复到最后一个提交的版本
git checkout 8187cf1 – a/b.c
从8187cf1这个提交中检出文件a/b.c,相当于将文件a/b.c恢复到8187cf1这个版本
git reset (git reset –mixed)
把本地staged的修改变为unstaged
git reset –hard
删除本地staged/unstaged的修改
git clean -df
删除本地untracked的文件和目录
git rm –cache a.txt
把a.txt的修改从staged变为unstaged
git diff
查看staged/unstaged的修改
git commit –amend
修改commit log
git blame a/b.c
查看文件a/b.c每行内容的修改者
git log a/b.c
查看文件a/b.c的修改历史摘要
git log -p a/b.c
查看文件a/b.c的修改历史,包含每次修改的内容
git log –author=Bob
查看Bob的提交记录
git show 8187cf1
查看8187cf1这个提交的修改内容
git branch –contains 8187cf1
查看所有包含8187cf1的本地分支
git branch -r –contains 8187cf1
查看所有包含8187cf1的远程分支
git branch -a –contains 8187cf1
查看所有包含8187cf1的分支,包括远程分支和本地分支
git cherry-pick 8187cf1
把8187cf1的修改应用到当前分支
git reflog
记录所有对HEAD的历史操作记录,可用配合git reset命令进行恢复
