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. 【hdu 6396】Swordsman

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 开k个优先队列.每个队列都满足从小到大那种.. 首先将所有的怪物加入到第一个队列中. 然后对于v[i]>=pq[i].top( ...

  2. 统制Highcharts中x轴和y轴坐标值的密度

    统制Highcharts中x轴和y轴坐标值的密度 www.MyException.Cn 发布于:2012-06-26 10:04:13 浏览:688次 1 控制Highcharts中x轴和y轴坐标值的 ...

  3. 工具-VIM常用快捷键

    使用vs code 的插件 amvim来快速编辑代码,要熟记下面的命令 由normal模式切换到insert模式的命令键 i 在光标左侧输入正文 I 在光标所在行的行首输入正文 a 在光标右侧输入正文 ...

  4. Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟

    https://www.luogu.org/problem/show?pid=1213 题目描述 考虑将如此安排在一个 3 x 3 行列中的九个时钟: 目标要找一个最小的移动顺序将所有的指针指向12点 ...

  5. AWR系列之中的一个——AWR简单介绍

    AWR的全称是Automatic Workload Repository(自己主动负载知识库). 它是通过对照两次快照的方式收集到统计信息.来生成txt或者html页面形式的报告. 通常,通过AWR报 ...

  6. iOS-UIApplication详解

    UIApplication简介 UIApplication对象是应用程序的象征. 每一个应用程序都有自己的UIApplication对象,而且是单例. 一个iOS程序启动后创建的第一个对象就是UIAp ...

  7. [BZOJ 3365] Distance Statistics

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3365 [算法] 点分治 [代码] #include <algorithm> ...

  8. github结合TortoiseGit使用sshkey,无需每次输入账号和密码

    首先需要明确,github上支持三种方式进行项目的clone    https,ssh,subversion ssh的方式 git@github.com:用户名/版本库t.git            ...

  9. Spark SQL概念学习系列之性能调优

    不多说,直接上干货! 性能调优 Caching Data In Memory Spark SQL可以通过调用sqlContext.cacheTable("tableName") 或 ...

  10. VSCode新建vue文件自定义模板

    在一个Vue的项目中,反复的新建.vue文件是一个必不可少的工序.本着科技让人偷懒的原则,我们可以利用VSCode的snippet在.vue文件创建后能轻松地生成一套模板. 整个过程是轻松加愉快的,只 ...