命令

git init -> 初始化一个git仓库

git clone -> 克隆一个本地库

git pull -> 拉取服务器最新代码

git fetch –p -> 强行拉取远程代码覆盖本地(同步远程,不止是代码)

git add -> 添加到git仓库

git commit –m “” -> 提交到git仓库

git push -> 将本地代码推送到远程

git push --tags -> 把本地新增的所有tag推到远程

git push origin <tagname> -> 推送标签到远程

git push origin --tags -> 推送所有未推送到远程的标签

git push –u origin master -> 把本地仓库内容推送到远程(将本地master分支内容推送到远程master分支,并本地的master分支和远程的master分支关联起来)

git tag -> 查看所有标签

git tag <name> -> 打一个新标签

git tag <name> <commit id> -> 给指定的版本打标签

git tag –a “name” –m “descript” -> 创建带有说明的标签

git tag –d <tagname> -> 删除本地标签(还未推送到远程)

git show <tagname> -> 查看标签信息

git status -> 查看当前状态

git branch -> 查看分支

git branch –a -> 查看所有分支

git branch -r -> 查看所有分支

git branch <name> -> 创建分支

git branch -d <name> -> 删除分支(分支已经合并)

git branch –D <name> -> 删除没有被合并的分支

git checkout <name> -> 切换分支

git checkout –b <name> -> 创建一个新分支并切换过去

git checkout -- <file> -> 丢弃工作区的修改

git checkout -- . -> 丢弃对所有内容的修改

git checkout . -> 还原本地修改(“.”:前有空格)

git merge <name> -> 合并某分支到当前分支(快速合并)

git merge --no-ff –m “提交说明” dev -> 合并某分支到当前分支(取消快速合并)

git diff -> 查看做了什么修改

git diff HEAD – readme.txt -> 查看工作区和最新版本库的区别

git remote add <name>(origin) <url>(git仓库的名字) -> 关联一个远程库(把本地仓库和远程仓库关联起来)

git remote -> 查看远程仓库信息

git remote –v -> 查看远程仓库地址{2个地址{fetch}{push}}

git log -> 查看提交历史(包含commit id、作者、日期、提交说明)

git log --pretty=oneline -> 查看提交历史并在一行显示,是一种简洁的形式(只包含commit id、提交说明)

git log --graph -> 查看分支合并图

git stash -> 存储工作现场

git stash list -> 查看stash内容

git stash pop -> 恢复工作现场并删除stash内容

git stash apply <stash> -> 恢复工作现场但没有删除stash内容

git stash drop -> 除stash内容

git reset HEAD <file> -> 把暂存区的修改撤销掉(丢弃对暂存区的修改),重新放回工作区(此时已经add到了暂存区)

git reset --hard HEAD^ -> 回退到上一个版本(已经commit)

git reset --hard commit_id -> 回退到某个具体的版本(知道版本号)(已经commit)

git reset . -> 从地暂存区释放(“.”:前有空格)

git reflog -> 查看命令历史(记录每一次命令,找回被删除的版本)

git rm <file> -> 从版本库删除文件

git rebase -> 把本地未push的分叉提交历史整理成直线

git config --global user.name

git config --global user.email

git config --global color.ui true

git config --global alias.ci commit

简写

alias -> 展示各种缩写

缩写:g     ->  完整版:git

缩写:gss  ->  完整版:git status -s

缩写:ga    ->  完整版:git add

缩写:gcmsg  ->  完整版:git commit -m

缩写:gp   ->  完整版:git push

缩写:glg  ->  完整版:git log --stat   查看历史包含增删改的信息

缩写:gco ->  完整版:git checkout

缩写:gcm ->  完整版:git checkout master

缩写:gcb ->  完整版:git checkout -b

缩写:gd   ->  完整版:git diff

缩写:gb    ->  完整版:git branch

缩写:gbD   ->  完整版:git branch -D

缩写:gbd   ->  完整版:git branch -d

缩写:gd --cached   ->  完整版:git diff --cached 对比当前的文件和前一个commit的更改

缩写:gco commitid 文件名   ->  完整版:git checkout commitid  xxx 将xxx文件checkout出来,也就是将xxx文件的内容替换为commitid版本号该文件的内容

参考

git log 详解

Git复习(十二)之命令专场的更多相关文章

  1. Git复习(二)之远程仓库、注册GitHub账号、SSH警告、使用GitHub

    远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都 ...

  2. Linux学习之十二、命令别名与历史命令

    命令别名配置: alias, unalias 那么需要下达『 ls -al | more 』这个命令,我是觉得很烦啦! 要输入好几个单字!那可不可以使用 lm 来简化呢?当然可以,你可以在命令行下面下 ...

  3. CentOS(十二)--crontab命令的使用方法

    crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...

  4. Linux学习之CentOS(十二)--crontab命令的使用方法

    http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/06/3002602.html crontab命令常见于Unix和Linux的操作系统之 ...

  5. java常用设计模式十二:命令模式

    一.概述 定义:命令(Command)模式又叫作动作(Action)模式或事务(Transaction)模式,是一种对象的行为模式.将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对 ...

  6. JMeter 十二:命令行执行

    参考文档:http://jmeter.apache.org/usermanual/get-started.html#non_gui 真正开始跑压力测试时,我们就不能使用GUI模式了.这时候需要采用命令 ...

  7. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

  8. 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记

    第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本 ...

  9. Git知识总览(二) git常用命令概览

    上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起 ...

  10. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

随机推荐

  1. PHP反序列化总结

    之前遇到过很多次php反序列化相关的内容,总结一下. (反)序列化给我们传递对象提供了一种简单的方法.serialize()将一个对象转换成一个字符串,unserialize()将字符串还原为一个对象 ...

  2. LVS分析

    概述 LVS是章文嵩博士十几年前的开源项目,已经被何如linux kernel 目录十几年了,可以说是国内最成功的kernle 开源项目, 在10多年后的今天,因为互联网的高速发展LVS得到了极大的应 ...

  3. Telnet/SSH 客户端

    一.WinSCP linux 与 windows 间传递文件.可以与 putty 配合使用. 官网提供便携版下载:https://winscp.net/eng/downloads.php 支持中文,语 ...

  4. mysql 存储过程中使用动态sql语句

    Mysql 5.0 以后,支持了动态sql语句,我们可以通过传递不同的参数得到我们想要的值 这里介绍两种在存储过程中的动态sql: set sql = (预处理的sql语句,可以是用concat拼接的 ...

  5. vmalloc详解

    vmalloc是一个接口函数, 内核代码使用它来分配在虚拟内存中连续但在物理内存中不一定连续的内存. 只需要一个参数,以字节为单位. 使用vmalloc的最著名的实例是内核对模块的实现. 因为模块可能 ...

  6. Django之缓存配置

    01-什么是缓存 缓存(cache),其作用是缓和较慢存储的高频次请求,简单来说,就是加速满存储的访问效率. 02-几种缓存配置 # 内存缓存:local-memory caching CACHES ...

  7. [转] Maven 从命令行获取项目的版本号

    [From]https://blog.soebes.de/blog/2018/06/09/help-plugin/ I bet you have been faced with the situati ...

  8. 数据存储--SQLite

    SQLite是一个开源嵌入式关系数据库,实现自包容,零配置,单个文件就是数据库,方便存储和转移,在window不用安装,直接解压到文件夹,并设置path. Ubuntu下安装:sudo apt ins ...

  9. vlc 控件属性和方法

    VLC调研 VLC控件支持的参数和方法 VLC对象列表 Vlc Plugin Object的方法 l        VersionInfo:成员, 返回版本信息的字符串 l        vlc.ve ...

  10. 06 vue router(一)

    一.vue route是什么? Vue Router是vue.js官方的路由管理器.主要有以下几种功能 1.路由和视图表的配置.(已明白) 2.模块化和基于组件的路由配置.(已明白) 3.路由参数.查 ...