廖雪峰Git教程

莫烦Git教程

莫烦Git视频教程

  • 文件三个状态,add之后从工作区(原始状态)到暂存区,commit之后从暂存区到版本库
  • 工作区 暂存区 版本库
  • unstage stage master

  • 删除文件
> git rm test.txt
> git commit -m "remove test.txt"
  • 修改或添加文件
> git add test.txt
> git commit -m "add test.txt"
  • reset 所有文件 恢复到指定版本
> git reflog  # 查看所有版本
> git reset --hard 1094a # 去到指定版本
> git reset --hard HEAD^^ # 回退两个版本
> git reset --hard HEAD~99 # 回退99个版本
> git reset --hard HEAD{5} # 回退版本HEAD{5}
  • 单个文件 恢复到原始状态 或 恢复到上一次add之后
> git checkout -- readme.txt  # 文件恢复到上一次add或者commit的状态
  • 单个文件 已经add了,恢复到原始状态
> git reset (HEAD)readme.txt  # HEAD回到原始状态 HEAD可省略
> git checkout -- readme.txt # 恢复到修改者删除之前的状态
  • checkout 单个文件 恢复到指定版本
> git checkout 845dc -- readme.txt
  • checkout 切换分支
> git branch  # 查看分支
> git branch <name> # 创建分支
> git checkout <name> # 切换分支
  • merge 合并分支
> git checkout -b dev # 创建+切换到dev分子,这个时候就可以修改分支的文件了
> git checkout master # 将HEAD指向master
> git merge dev # 合并分支dev到当前分支(master)
> git branch -d dev # 删除分支dev > git merge --no-ff -m "keep merge info" dev # 合并dev分支到当前分支,并且可见(git log)合并过程(--no-ff)
> git log --graph --pretty=oneline --abbrev-commit # 显示合并过程的日志
  • commit
> git commit -am "add and commit"  # add和commit 一步到位
> git commit -m "commit" # commit
> git commit --amend --no-edit # 提交到最新版本,保持原来的提交信息不变
  • rebase 基于其他分支修改当前分支
> git checkout master  # 切换到主分支
> git rebase dev # 基于dev 修改当前分支(master)
  • stash 临时改其他Bug时,stash当前工作状态
> git stash # 将修改过的文件放到stash缓存区
> git stash pop # 恢复stash前的状态
> git stash list  # 查看缓存的stash状态
> git stash apply stash@{0} # 恢复指定stash
  • 强行删除已经commit却还没有merge过的分支
> git branch -D <name> 强行删除

2019年2月22日23:33:18

Git学习笔记 2,GitHub常用命令的更多相关文章

  1. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  2. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  3. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

  4. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  5. CMake学习笔记四-CMake常用命令

    CMake常用命令 PROJECT PROJECT(projectname [CXX] [C] [Java]) 指定工程名称,并可指定工程支持的语言.支持语言列表可忽略,默认支持所有语言 SET ...

  6. Linux学习笔记之六————Linux常用命令之系统管理

    <1>查看当前日历:cal cal命令用于查看当前日历,-y显示整年日历: <2>显示或设置时间:date 设置时间格式(需要管理员权限): date [MMDDhhmm[[C ...

  7. Linux学习笔记之五————Linux常用命令之用户、权限管理

    一.引言 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理. 在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资 ...

  8. Linux学习笔记之四————Linux常用命令之文件管理

    Linux命令——文件管理相关命令 <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或 ...

  9. Linux学习笔记:vi常用命令

    在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...

  10. Git学习笔记-----下载GitHub上某个分支的代码

    在GitHub上的仓库里,往往建有几个分支,如果只是想下载某个分支的代码,怎么办呢? 1.需要知道远程分支的名称,及远程分支所在的Git仓库 2.按下面指令下载 git clone -b 远程分支名称 ...

随机推荐

  1. Android 那些年,处理getActivity()为null的日子

    在日常开发中的时候,我们经常会使用ViewPager+Fragment进行视图滑动,在某些部分逻辑也许我们需要利用上下文Context(例如基本的Toast),但是由于Fragment只是衣服在Act ...

  2. jQuery学习(五)——使用JQ完成复选框的全选和全不选

    1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框 ...

  3. stm8s103 EEPROM烧程序时能否保留

    EEPROM的参数需要再烧录程序时保留,做试验测试是否能够保留 1.在ST Visual Develop中硬件仿真手动修改EEPROM的值. 2.在ST Visual Programmer中读取EEP ...

  4. POJ 2481 Cows【树状数组】

    题意:给出n头牛的s,e 如果有两头牛,现在si <= sj && ei >= ej 那么称牛i比牛j强壮 然后问每头牛都有几头牛比它强壮 先按照s从小到大排序,然后用e来 ...

  5. SpringCloud学习笔记(12)----Spring Cloud Netflix之Hystrix断路器的流程和原理

    工作流程(参考:https://github.com/Netflix/Hystrix/wiki/How-it-Works) 1. 创建一个HystrixCommand或HystrixObservabl ...

  6. requests 后续1

    发送带数据post请求 import requests # 发送post请求 data = { } response = requests.post(url, data=data) # 内网 需要 认 ...

  7. MyBatis中抽象方法中多个参数的问题

    在使用MyBatis时,接口中的抽象方法只允许有1个参数,如果有多个参数,例如:      Integer updatePassword(             Integer id, String ...

  8. HDU-5685 Problem A 求乘法逆元

    题目链接:https://cn.vjudge.net/problem/HDU-5685 题意 给一个字符串S和一个哈希算法 $ H(s)=\prod_{i=1}^{i\leq len(s)}(S_{i ...

  9. spring中IOC的简单使用

    spring的ioc主要就是依赖注入,有基于构造器的依赖注入还有通过设值注入,这里我只简单的实现设值注入的方法,通过spring的依赖管理,我们可以很方便的了解各层之间的依赖关系,降低了各层之间的耦合 ...

  10. MAVEN flex

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...