1.git 基本概念:

  • 工作区:改动(增删文件和内容)
  • 暂存区:输入命令:git add 改动的文件名,此次改动就放到了‘暂存区’(新增的文件)
  • 本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了’本地仓库’,每个commit,我叫它为一个‘版本’。
  • 远程仓库(简称:远程):输入命令:git push 推送到远程仓库,此次改动就放到了‘远程仓库’ git pull 拉去远程仓库
  • commit-id:输出命令:git log,最上面那行commit xxxxxx,后面的字符串就是commit-id

2.工作区和暂存区的常用命令:

  • 展示工作区和暂存区的不同(输出工作区和暂存区的different(不同)。)
  • git diff
  • 还可以展示本地仓库中任意两个commit之间的文件变动:
  • git diff <commit-id>
    <commit-id>
  • 两个分支的差异:
  • git diff <branch
    a> <branch b>
  • 放弃工作区的修改
  • git checkout <file-name>
  • 放弃所有修改:
  • git checkout .
  • 强制删除untracked的文件
  • git clean <file-name>
    -f
  • 强制删除untracked的目录
  • git clean <directory-name>
    -df
  • 展示所有tracked的文件
  • git ls-files -t
  • 展示所有untracked的文件
  • git ls-files --others

3.有关commit的一些常用命令:

  • 查看commit历史
  • git log
  • 重设第一个commit(也就是把所有的改动都重新放回工作区,并清空所有的commit,这样就可以重新提交第一个commit了)
  • git update-ref
    -d HEAD
  • 回到某个commit的状态,并删除后面的commit (但不丢弃更改)
  • git reset <commit-id>
  • 回到某个commit的状态(丢弃更改)
  • git reset —hard
    <commit-id>
  • 修改上一个commit的描述
  • git commit --amend
  • 展示简化的commit历史
  • git log --pretty=oneline
    --graph --decorate --all
  • 在commit log中查找相关内容
  • git log --all --grep='<text>'
  • commit历史中显示Branch1有的,但是Branch2没有commit
  • git log Branch1
    ^Branch2

4.关于分支管理的一些常用命令:

  • 快速切换分支
  • git checkout -
  • 创建并切换到该分支
  • git checkout -b
    <branch-name>
  • 查看本地分支:
  • git branch
  • 查看所有分支
  • git branch -a
  • 重命名本地分支:
  • git branch -m <branch-oldName>
    <branch-newName>
  • 删除远程分支
  • git push origin
    --delete <remote-branchname>
  • git push origin
    :<remote-branchname>
  • 关联远程分支(关联之后,git branch -vv就可以展示关联的远程分支名了,同时推送到远程仓库直接:git push,不需要指定远程仓库了。)
  • git branch -u origin/mybranch
  • 展示任意分支某一文件的内容
  • git show <branch-name>:<file-name>
  • 新建并切换到新分支上,同时这个分支没有任何commit
  • git checkout --orphan
    <branch-name>

5.关于git中标签的一些常用命令:

  • tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线;
  • tag是静态的,branch要向前走;
  • 稳定版本备份用tag,新功能多人开发用branch。
  • 查看标签
  • git tag
  • 本地创建标签
  • git tag <version-number>
  • 默认tag是打在最近的一次commit上,如果需要指定commit打tag:
  • git tag -a <version-number>
    -m "v1.0 发布(描述)" <commit-id>
  • 推送标签到远程仓库(首先要保证本地创建好了标签才可以推送标签到远程仓库)
  • git push origin
    <local-version-number>
  • 删除本地标签
  • git tag -d <tag-name>
  • 删除远程标签(删除远程标签需要先删除本地标签,再执行下面的命令)
  • git push origin
    :refs/tags/<tag-name>

6.关于git中stash的一些常用命令:

  • 存储当前的修改,但不用提交commit
  • git stash
  • 保存当前状态,包括untracked的文件
  • git stash -u
  • 展示所有stashes
  • git stash list
  • 回到某个stash的状态
  • git stash apply
    <stash@{n}>
  • 回到最后一个stash的状态,并删除这个stash
  • git stash pop
  • 删除所有的stash
  • git stash clear
  • 从stash中拿出某个文件的修改
  • git checkout <stash@{n}>
    -- <file-path>

Git学习总结(10)——git 常用命令汇总的更多相关文章

  1. Git的使用流程及常用命令汇总

    Git是一个很好用的版本控制系统,本文对于常用的一些命令进行了汇总. 创建一个存储仓库(repository) https://github.com/右上角点击"+"号,New r ...

  2. Git笔记:Git介绍和常用命令汇总

    Git 是一个开源的分布式版本控制系统,与 CVS, Subversion 等不同,它采用了分布式版本库的方式,不需要服务器端软件支持. 工作流程 Git 的工作流程大致如下: 克隆 Git 资源作为 ...

  3. Git深入浅出使用教程:Git安装、远程控制、常用命令(全)

    一.软件安装 1.先安装[Git-2.24.1.2-64-bit.exe]软件.(官网下载的很慢,可以在百度云盘下载我的) 链接:https://pan.baidu.com/s/1uoIS9DWSBp ...

  4. 20145222《信息安全系统设计基础》Linux常用命令汇总

    学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

  5. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...

  6. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  7. 【Linux】Linux 常用命令汇总

    查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...

  8. [svc][op]vim常用命令汇总

    vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...

  9. Git学习系列之Git基本操作拉取项目(图文详解)

    前面博客 Git学习系列之Git基本操作推送项目(图文详解) 当然,如果多人协作,或者多个客户端进行修改,那么我们还要拉取(Pull ... )别人推送到在线仓库的内容下来. 大神们是不推荐使用 pu ...

随机推荐

  1. Elasticsearch 三种分页方式

    from + size 浅分页 "浅"分页可以理解为简单意义上的分页.它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据.这样其实白白浪费了前10条的查 ...

  2. POJ 1284

    想了很久,只想到枚举的方法,估计会超时吧. 原来有这样一条性质:p为素数,则p有phi(p-1)个原根 Orz... #include <iostream> #include <cs ...

  3. [Node.js] Proxy Requests for Local and Remote Service Parity

    High availability apps require that no distinction be made between local and remote services. Attach ...

  4. Apache Pig的前世今生

    近期,散仙用了几周的Pig来处理分析我们站点搜索的日志数据,感觉用起来非常不错,今天就写篇笔记介绍下Pig的由来,除了搞大数据的人,可能非常少有人知道Pig是干啥的.包含一些是搞编程的,但不是搞大数据 ...

  5. 编译Redis系统提示缺少gcc,可以使用yum进行安装:

    yum -y install gcc yum -y install gcc-c++ yum install make -- 或者 yum groupinstall "Development ...

  6. gridview in webform

    How to: Enable Default Paging in the GridView Web Server Control https://msdn.microsoft.com/en-us/li ...

  7. oracle init.ora常用配置详解

    参考网上整理了重要的配置文件 db_name = "51cto"   一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应. instance_name = ...

  8. Python—使用xm.dom解析xml文件

    什么是DOM? 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口. 一个 DOM 的解析器在解析一个 XML 文档时,一次性读 ...

  9. 1.Thinkphp入门--框架介绍

    1.Thinkphp款家最早诞生于2006年初,最初名叫fsc,2007年元旦改名thinkphp,由国人自主开发的框架,有中文的文档和社区 2.Tinkphp下载: 官网:http://www.th ...

  10. 洛谷P3381 【模板】最小费用最大流(dijstra费用流)

    题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表 ...