美文网首页
Git命令整理

Git命令整理

作者: Eugene_iOS | 来源:发表于2017-06-22 17:38 被阅读195次
    提交流程
    //创建新文件夹
    $ mkdir <文件夹名>  
    
    //进入文件夹
    $ cd <文件夹名> 
    
    //然后执行 git init 以创建新的 git 仓库。
    $ git init
    
    //检出仓库
    $ git clone 文件路径
    
    //添加文件到暂存区
    $ git add  <filename> 或 git add .  
    
    //将暂存区的所有内容提交更新到当前分支,并注释信息"代码提交注释"
    $ git commit -m "代码提交注释"
    //注释可以通过单引号来换行
    $git commit -m '
    > 1.提交内容
    > 2.注释文本
    > '
    
    //上面的两步可以合在一起写
    $ git commit -am "代码提交注释"
    $ git commit -a -m "代码提交注释" 
    
    //连接远程github项目(关联一个远程库)
    $ git remote add origin git@github.com: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 branch
     issue1
     * master //前面有*的就是现在的分支。
    
    //查看远程分支
    $ git branch -r 
    
    //查看所有分支(本地+远程)
    $ git branch -a
    
    //创建分支
    $ git branch <branchname>
    
    //切换分支
    $ git checkout <branchname>
    
    //创建和切换分支快捷命令。此命令是上面的两个命令的合体
    $ git checkout -b <branchname>
    
    //修改分支的名称
    $ git branch -m <oldbranch> <newbranch>
    
    //切换回主分支
    $ git checkout master
    
    //删掉指定的分支
    $ git branch  -d  <branch name>
    
    //强行删除指定分支
    $ git branch -D <branch name>
    
    //查看分支之间的差异。在合并改动之前,你可以使用如下命令预览差异
    $ git diff <source_branch> <target_branch>
    
    //合并指定分支到当前分支。合并分支时,Git会默认用Fast forward模式,此模式下,删除分支后,会丢掉分支信息;而且当所有分支都有改动时,容易出错,建议添加 --no-ff 参数,禁用Fast forward模式
    $ git merge <name>
    
    //合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。合并时要创建一个新的commit,所以加上-m参数,把commit描述写进去。
    $ git merge --no-ff -m "merge with --no-ff" <name>
    
    //除非你将分支推送到远端仓库,不然他人就看不到该分支
    $ git push origin <branch>
    
    日志
    //查看仓库状态
    $ git status
    
    //查看HEAD的移动历史
    $ git reflog
    
    //查看所有版本库日志
    $ git log
    
    //log输出信息压缩命令
    $ git log --pretty=oneline
    
    //查看指定版本库日志
    $ git log  <filename>
    
    //查看分支合并图
    $ 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 <name>
    
    //打标签到指定的commit上
    $ git tag <name> <commit id>
    
    //查看标签信息
    $ git show <tagname>
    
    //创建带有说明的标签。-a:指定标签名,-m:指定说明文字
    $ git tag -a <tagname> -m "tag description" <commit id>
    
    //删除本地标签
    $ git tag -d <tagname>
    
    //推送指定标签到远程
    $ git push origin <tagname>
    
    //推送全部尚未推送到远程的本地标签
    $ git push origin --tags
     
    //删除指定远程标签(在删除远程标签之前,要先从本地删除)
    $ git push origin :refs/tags/<tagname>
    
    
    保存工作现场
    //`存储`当前工作现场,等以后恢复现场后继续工作
    $ git stash
    
    //查看`存储`的工作现场
    $ git stash list
    
    //恢复`存储`的工作现场,恢复的同时把stash内容也删掉
    $ git stash pop
    
    //可以多次`stash`,恢复的时候,先用`git stash list`查看,然后恢复指定的stash
    $ git stash apply stash@{0}
    

    最后推荐

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

    相关文章

      网友评论

          本文标题:Git命令整理

          本文链接:https://www.haomeiwen.com/subject/smmuxxtx.html