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. css下背景渐变与底部固定的蓝天白云

    <?php defined('_JEXEC') or die; JHtml::_('behavior.framework', true); //if(!$templateparams->g ...

  2. PHP学习总结(9)——PHP入门篇之WAMPServer服务控制面板介绍

    及MySQL数据库的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发.在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环 ...

  3. C/C++ 文件路径解析

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50782054 首先,看一下C/C++中 ...

  4. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclips

    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclips ...

  5. C#--文件操作的一些技巧

    Using的特点 Using 打开什么,就自动关闭什么,using中包含的其他类是否关闭,using是不管的 XML文档读取 重点:必须是标准的xml文档,否则会出错 string xmlxx = @ ...

  6. nodejs-EventEmitter

    addListener(event, listener)为指定事件添加一个监听器到监听器数组的尾部. on(event, listener)为指定事件注册一个监听器,接受一个字符串 event 和一个 ...

  7. structs中通过LabelValueBean构建下拉列表

    Action类中增加列表 List<LabelValueBean> list = new ArrayList<LabelValueBean>(); list.add(new L ...

  8. [SharePoint2010开发入门经典]四、开发者常见任务

    本章概要: 1.创建不同种类的web部件,包括标准的,可视化的还有数据绑定web部件 2.理解列和内容类型,如何使用它们创建列表 3.理解如何与SPS交互,使用SPS API调用数据 4.创建编辑页面 ...

  9. [BZOJ 3884][欧拉定理]上帝与集合的正确使用方法

    看看我们机房某畸形写的题解:http://blog.csdn.net/sinat_27410769/article/details/46754209 此题为popoQQQ神犇所出,在此orz #inc ...

  10. spark中的广播变量broadcast

    Spark中的Broadcast处理 首先先来看一看broadcast的使用代码: val values = List[Int](1,2,3) val broadcastValues = sparkC ...