美文网首页
Git--命令总结篇

Git--命令总结篇

作者: 我亦飘零久93 | 来源:发表于2019-05-29 18:45 被阅读0次

      最近心血来潮,突然想把自己这些年所学到的东西梳理一下,所以先从Git开始。本文为Git常用命令篇,可为初学者快速查找使用。若对其中一些命令感到迷惑,推荐以下文章进行解惑:
    《Git教程》基本涵盖所有git命令,并进行了分类和详细说明。
    《廖雪峰Git教程》初学者的入门教程,含视频教学
    《Git合并指定文件到另一个分支》合并指定提交请看这里
    《Git--分支管理策略(Git flow)》分支管理实战篇,给自己打广告的☺

    不向前走,不知路远;不努力学习,不明白真理。有些东西写出来,或许成全了别人,也方便了自己。话不多说,直接开干!


    ## 全局配置 ##

    配置名字和邮箱
    git config --global user.name "Some One"
    git config --global user.email "someone@gmail.com"

    配置命令别名alias
    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    git config --global alias.st status
    git config --global alias.unstage 'reset HEAD --'
    命令变为
    git co
    git br
    git ci
    git st
    git unstage <file>

    ## 仓库 ##

    初始化仓库
    git init
    克隆仓库(将远程仓库克隆到本地)
    git clone <仓库地址>
    关联远程仓库(在本地仓库与远程仓库间建立关联)
    git remote add origin <仓库地址>

    ## 分支 ##

    查看本地分支列表
    git branch
    创建分支
    git branch <branch name>
    切换分支
    git checkout <branch name>
    创建并切换到该分支
    git checkout -b <branch name>
    分支重命名
    git branch -m <old> <new>
    删除本地分支
    git branch -D <branch name>
    删除远程分支
    git push origin :<branch name>
    手动建立本地分支与远程分支的追踪关系
    git branch --set-upstream <local branch name> <remote branch name>
    合并某分支到当前分支
    git merge <branch name>
    合并分支代码 保持两个分支提交在一条线上
    git rebase <branch name>

    ## 文件 ##

    查看工作区和暂存区的状态
    git status
    添加指定文件
    git add -- <文件/文件夹全路径>
    添加修改文件
    git add .
    提交到本地
    git commit -m "这里写备注"
    先添加修改再提交
    git commit -a -m "这里写备注"
    git commit -am "这里写备注"
    拉取远程分支但不合并
    git fetch
    拉取远程分支并合并
    git pull #建立追踪关系后可简写
    拉取远程分支并合并
    git pull origin <远程分支名>
    推送代码到远程
    git push #建立追踪关系后可简写
    git push origin <远程分支名>
    撤销文件修改
    git checkout --<file>
    删除没有被track(追踪)的文件
    git clean
    比较当前文件和暂存区文件差异
    git diff #比较全部
    git diff <file> #比较指定文件
    比较两次提交之间的差异
    git diff <commit1><commit2>
    在两个分支之间比较
    git diff <branch1> <branch2>
    表暂存区和版本库之间的差别
    git diff --cached
    git diff --staged
    将暂存区指定文件还原至工作区
    git reset HEAD --<file>
    将暂存区所有文件还原至工作区
    git reset HEAD --.

    ## 标签 ##

    查看tag列表
    git tag
    添加tag至本地
    git tag <tag name>
    推送tag至远程仓库
    git push origin <tag name>
    推送本地所有tag至远程仓库
    git push --tags
    删除本地tag
    git tag -d <tag name>
    删除远程仓库tag
    git push origin :refs/tags/<tag name>
    切换到tag
    git checkout <tag name>

    ## 日志 ##

    查看日志
    git log
    每条log只显示一行
    git log --oneline
    图形化地表示出分支合并历史
    git log --oneline --graph
    查看命令历史
    git reflog

    ## 合并代码 ##

    合并某分支到当前分支
    git merge <branch name>
    合并某个分支上的单个commit
    git cherry-pick <commit>
    合并某个分支上的一系列commits
    git rebase --onto <branch name> <commit_start>^
    合并某个文件
    git checkout --patch <branch name> <file name>
    合并分支代码 保持两个分支提交在一条线上
    git rebase <branch name>

    版本回退

    回退到上次提交
    git reset --hard HEAD^
    回退到上两次提交
    git reset – hard HEAD^^
    回退到指定提交节点
    git reset --hard <commit id>

    代码收藏

    将未提交的内容(暂存和非暂存)藏起来(入栈)
    git stash
    查看收藏列表
    git stash list
    删除栈顶stash
    git stash drop
    删除指定stash
    git stash drop <stash编号 如:stash@{0}>
    将栈顶stash恢复到工作区并删除该收藏
    git stash pop
    将指定stash恢复到工作区并删除该收藏
    git stash pop <stash id>
    将栈顶stash恢复到工作区不删除该收藏
    git stash apply
    将指定stash恢复到工作区不删除该收藏
    git stash apply <stash id>
    删除所有缓存的stash
    git stash clear
    查看指定stash的diff即保存的内容
    git stash show
    git stash show <stash id>
    从stash创建分支
    git stash branch <branch name>

    撤销提交

    撤销本次提交并作为一次新的提交
    git revert HEAD
    撤销上次提交并作为一次新的提交
    git revert HEAD^
    撤销指定提交并作为一次新的提交
    git revert <commit id>


    相关文章

      网友评论

          本文标题:Git--命令总结篇

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