branch
git branch
查看本地全部分支
-a
查看本地和远程仓库分支
-r
查看远程仓库分支
-d xxxx
删除分支(在删除前检查merge状态(其与上游分支或者与head)。-D直接删除)
-m oldName newName
重新命名分支
checkout
git checkout xxx
切换到xxx分支
git checkout -b xxx
以当前分支创建一个新的分支
git checkout -- filepathname
放弃单个文件修改,注意不要忘记中间的"–",不写就成了检出分支了!
git checkout .
放弃所有的文件修改
add
git add [file1] [file2] ...
添加到暂存区 文件1 文件2
git add [dir]
添加指定目录到暂存区,包括子目录
git add .
添加当前目录下的所有文件到暂存区
git checkout .
放弃所有的文件修改
diff
git diff
什么参数都不加,默认比较工作区暂存区的差异
git diff --cached [<path>...]
比较暂存区与最新本地版本库(本地库中最近一次commit的内容)
git diff HEAD [<path>...]
比较工作区与最新本地版本库。如果HEAD指向的是master分支,那么HEAD还可以换成master
git diff commit-id [<path>...]
比较工作区与指定commit-id的差异
git diff --cached [<commit-id>] [<path>...]
比较暂存区与指定commit-id的差异
git diff [<commit-id>] [<commit-id>]
比较两个commit-id之间的差异
git diff commit-id1 commit-id2 --stat
查看两个提交版本id修改了那些文件.
git diff 版本号码1 版本号码2 src
比较两个版本的src 文件夹的差异
stash
git stash
save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
git stash list
:查看stash了哪些存储
git stash show
:显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show -p
: 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
git stash apply
:应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
git stash pop
:命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash drop stash@{$num}
:丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear
:删除所有缓存的stash
commit
git commit -m [message]
提交暂存区到本地仓库中
status
git status
命令用于查看在你上次提交之后是否有对文件进行再次修改
reset
git reset
命令语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
–mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
git reset [HEAD]
实例:
git reset HEAD^
# 回退所有内容到上一个版本
git reset HEAD^ hello.php
# 回退 hello.php 文件的版本到上一个版本
git reset 052e
# 回退到指定版本
–soft 参数用于回退到某个版本:
git reset --soft HEAD
实例:
git reset --soft HEAD~3
回退上上上一个版本
–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
git reset --hard HEAD
实例:
git reset –hard HEAD~3
回退上上上一个版本
git reset –hard bae128
回退到某个版本回退点之前的所有信息。
git reset --hard origin/master
将本地的状态回退到和远程的一样