Git命令整理

提交流程
//创建新文件夹
$ mkdir <文件夹名>  

//进入文件夹
$ cd <文件夹名> 

//然后执行 git init 以创建新的 git 仓库。
$ git init

//检出仓库
$ git clone 文件路径

//添加文件到暂存区
$ git add   或 git add .  

//将暂存区的所有内容提交更新到当前分支,并注释信息"代码提交注释"
$ git commit -m "代码提交注释"
//注释可以通过单引号来换行
$git commit -m '
> 1.提交内容
> 2.注释文本
> '

//上面的两步可以合在一起写
$ git commit -am "代码提交注释"
$ git commit -a -m "代码提交注释" 

//连接远程github项目(关联一个远程库)
$ git remote add origin [email protected]:ZyjEugene/Bears.git

//将本地项目更新到github项目上去(第一次推送master分支的所有内容,使用 `-u` 参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来。此后,每次本地提交后,只要有必要,就可以使用命令$git push origin master推送最新修改
$ git push -u origin master 

//推送最新修改
$ git push origin master 

//查看远程仓库地址
$ git remote -v

// 强制回退远程仓库到当前版本(在此操作前一定要保证本地版本`git reset --hard <版本号>`到了指定回退的目标版本)
$ git push -f
分支
//查看当前分支
$ git branch
 issue1
 * master //前面有*的就是现在的分支。

//查看远程分支
$ git branch -r 

//查看所有分支(本地+远程)
$ git branch -a

//创建分支
$ git branch 

//切换分支
$ git checkout 

//创建和切换分支快捷命令。此命令是上面的两个命令的合体
$ git checkout -b 

//修改分支的名称
$ git branch -m  

//切换回主分支
$ git checkout master

//删掉指定的分支
$ git branch  -d  

//强行删除指定分支
$ git branch -D 

//查看分支之间的差异。在合并改动之前,你可以使用如下命令预览差异
$ git diff  

//合并指定分支到当前分支。合并分支时,Git会默认用Fast forward模式,此模式下,删除分支后,会丢掉分支信息;而且当所有分支都有改动时,容易出错,建议添加 --no-ff 参数,禁用Fast forward模式
$ git merge 

//合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。合并时要创建一个新的commit,所以加上-m参数,把commit描述写进去。
$ git merge --no-ff -m "merge with --no-ff" 

//除非你将分支推送到远端仓库,不然他人就看不到该分支
$ git push origin 
日志
//查看仓库状态
$ git status

//查看HEAD的移动历史
$ git reflog

//查看所有版本库日志
$ git log

//log输出信息压缩命令
$ git log --pretty=oneline

//查看指定版本库日志
$ git log  

//查看分支合并图
$ git log --graph
$ git log --graph --pretty=oneline --abbrev-commit

//查看log参数的更多信息
$ git log --help
版本回退
//回到当前版本,放弃所有没有提交的修改 
$ git reset --hard HEAD

//回到上个版本
$ git reset --hard HEAD^

//回到上上个版本
$ git reset --hard HEAD^^

//回到往上的第6个版本
$ git reset --hard HEAD~6

//回到指定版本号的版本(3628164这段数字是commit id,也就是所谓的版本号,它是一大串字符串的前几位,我们没必要把一整串commit id都写出来)
$ git reset --hard 3628164
 
标签
//查看所有标签
$ git tag

//切换到需要打标签的分支上,使用下面命令就可以打一个新标签(标签是默认打在最新提交的commit上的)
$ git tag 

//打标签到指定的commit上
$ git tag  

//查看标签信息
$ git show 

//创建带有说明的标签。-a:指定标签名,-m:指定说明文字
$ git tag -a  -m "tag description" 

//删除本地标签
$ git tag -d 

//推送指定标签到远程
$ git push origin 

//推送全部尚未推送到远程的本地标签
$ git push origin --tags
 
//删除指定远程标签(在删除远程标签之前,要先从本地删除)
$ git push origin :refs/tags/

保存工作现场
//`存储`当前工作现场,等以后恢复现场后继续工作
$ git stash

//查看`存储`的工作现场
$ git stash list

//恢复`存储`的工作现场,恢复的同时把stash内容也删掉
$ git stash pop

//可以多次`stash`,恢复的时候,先用`git stash list`查看,然后恢复指定的stash
$ git stash apply stash@{0}

最后推荐

Git
阮一峰
廖雪峰
猴子都懂的Git
欢迎指正!

你可能感兴趣的:(Git命令整理)