git常用指令
目录
init
config
-
$git-config user.name
#设置用户名
-
$git-config user.email
#设置用户邮箱
- $git-config core.editor vim
- $git-config core.paper “less -N”
- $git-config color.diff true
- $git-config alias.co checkout #表示git co代表gitcheckout.
- $git-var -l #可以查看已经设置的配置
add
- $git-add -a #添加所有文件,(.gitignore文件中的文件除外)
rm
- $git-rm file #从git仓库中删除文件
commit
- $git-commit -a -e #提交全部修改文件,并调用vim编辑提交日志
reset
- $git-reset HEAD^ or git-reset HEAD~1 #撤消最后一次提交
- $git-reset –hard HEAD^ #撤消最后一次提交并清除本地修改
- $git-reset SHA1
log
- $git-log file #查看一个文件的改动
- $git-log -p #查看日志和改动
- $git-log tag1..tag2 #查看两个tag之间的日志
- $git-log -p tag1..tag2 file #查看一个文件在两个tag之间的不同
- $git-log tag.. #查看tag和HEAD之间的不同
show
branch
- $git-branch -a #查看所有分支
-
$git-branch
#创建新的分支new_branch -
$git-branch -d
#删除分支branch
checkout
remote
clone
-
$git-clone git://
#获得git仓库
fetch
merge
- $git-merge #用于合并两个分支
pull
- $git-pull #更新仓库
push
- $git-push #推送
diff
- $git-diff tag #比较tag和HEAD之间的不同
- $git-diff tag file #比较一个文件在两者之间的不同
- $git-diff tag1..tag2 #比较两个tag之间的不同
- $git-diff SHA11..SHA12 #比较两个提交之间的不同
- $git-diff tag1 tag2 file or git-difftag1:file tag2:file #比较一个文件在两个tag之间的不同
- $git-diff ORIG_HEAD #ORIG_HEAD用于指向前一个操作状态,获得git-pull之后的pull的内容
- $git-diff –stat #用于生成统计信息
- $git-diff –stat ORIG_HEAD
apply
- $git-apply #相当于patch命令
- $git-apply –check #检查能否正常打上补丁
- $git-apply -v #verbose模式
- $git-apply -R #reverse模式,反打补丁
format-patch
- $git format-patch -1 #生成最后一个提交对应的patch文件
am
附:
git中有四种对象:blob(代表文件)、tree(代表目录)、commit(代表提交历史)、tag(代表标签)。
这四种对象都是由SHA1值表示。在仓库中的.git目录中保存git管理仓库所需要的全部信息。
-
$git-ls-tree HEAD
#显示file在HEAD中的SHA1值,SHA1是一连串16进制数组成 -
$git-cat-file -t
#显示一个SHA1的类型 -
$git-cat-file
#显示一个SHA1的内容。type是blob、tree、commit、tag之一。
1 <<git的patch功能>>