Git高阶用法

1. 基本概念

  你的本地仓库由Git维护的三棵树组成。第一个是你的工作目录,它持有实际文件;第二个是缓存区(Index),它像个缓存区域,临时保存您的改动;最后是HEAD,指向你最近一次提交后的结果。

  git add . 完成的是:把改动添加到缓存区;git commit -m "提交信息"完成的是:把改动提交到HEAD,但是还没有提交到你的远端仓库(当前你的改动已经在本地仓库的HEAD中了);git push origin master完成的是:将改动提交到远端仓库;

#==================================================
# Git基本用法
#==================================================
git clone **.git
   git init (会在你项目的根目录下创建一个新的.git目录,其中包含了你项目必需的所有元数据)
   git status
   git remote add origin <server>
   

21.    git log

   git log --oneline

   git log --decorate

   git log --oneline --decorate

   git log --stat

   git log -p

   git log --stat -p

   git shortlog

   git shortlog -n

   git log --graph

   git log --graph --oneline --decorate

   git log --pretty=format:"%cn committed %h on %cd"

#==================================================
# git log 下述语法用于选择项目历史中的特定提交,与上述命令搭配起来使用
#================================================== git log -100 (git log -5 --stat -p)(git log -100 --graph --oneline)
git log --after="2017-6-22" (git log --after="2017-6-22 10:00:00") (git log --after="yesterday")
git log --before="2017-6-22 12:00:00" --after="2017-6-22 10:00:00"
git log --author="shuanghun" (git log --author="shuanghun" --graph --oneline --stat -p)
git log --author="shuanghun\|feihuang" (git log -i --author="shuanghun" 忽略大小写)
git log -- pom.xml (git log -- doc/DESIGN.MD)
git log -S "ApiInfo" (字母S要大些,按文件内容搜索git提交历史)
git log master feature/hotfix (显示两个分支之间区别最简单的方式:范围包含了在feature分支而不在master分支中的所有提交,即这个命令可以看出
从master分支fork到feature/hotfix分支后,发生了哪些变化?)
git log --merges (--merges用于显示所有的合并提交;git log --no-merges则用于显示当前提交中,排除合并提交)

  总结:git log相关用法,用于显示git提交的历史记录跟踪;

2.    

   

补充:友情链接

1. 开发规范:事务内不允许做IO操作;

  单库事务使用@Transactional;

  多库事务使用@MultiTransactional(values={TransactionManagers.COBARC,TransactionManagers.COBARB})

2. DB相关规范:

  like field% 必须确保field非空;不然会导致全表扫描;

  模糊匹配使用后模糊,如果有特殊需求,找DBA讨论需求;

  mybatis中的SQL查询语句,不允许使用$,防止SQL注入攻击;

  在执行update或delete操作的时候,如果查询条件是范围查找或者等值查找(字段列没有主键索引或唯一索引),此时会有多行记录(包括间隙)被锁定,会导致锁等待,影响事务并发操作;(解决方案:使用字段上具有主键索引或者唯一索引的字段列作为查询条件,这样减少锁粒度,提高兵法)。

3. 项目名称:

  队长 【captain】

  ORM 【mapper】

  金刚狼【wolverine】

  绿巨人【hulk】

  雷神【thor】

  蜘蛛侠【spider】

  闪电侠【flash】

  钢铁侠【iron】

  鹰眼【hawkeye】

4. 数据库说明:

  业务C库【redcliff】公共库【commdb】Cobar C库【CobarC】Cobar B库【CobarB】Cobar A库【CobarA】

  redcliff,含义“赤壁”;它是普通的mysql数据库,可根据城市横向扩展;各个城市的用户端APP服务端链接各自城市业务C库,与具体用户应用项目有关的三个项目:蜘蛛侠,闪电侠,钢铁侠;

Git进阶用法的更多相关文章

  1. 从0开始学习 GITHUB 系列之「GIT 进阶」【转】

    本文转载自:http://stormzhang.com/github/2016/06/16/learn-github-from-zero5/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  2. CocoaPods学习系列4——进阶用法

    这篇文章,记录一下CocoaPods的进阶用法. 进阶用法主要体现在.podspec文件和Podfile的配置上. .podspec文件的进阶配置 以官方的一个.podspec文件示例细说: Pod: ...

  3. 从0开始学习 GitHub 系列之「05.Git 进阶」

    关于 Git 相信大家看了之前一系列的文章已经初步会使用了, 但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些 Git 进阶的知识. 1. 用户名和邮箱 我们知道我们进行的每一次 ...

  4. webpack进阶用法你都get到了么?

    如何消除无用代码:打包自己的私有js库:实现代码分割和动态import提升初次加载速度:配置eslint规范团队代码规范:打包异常抓捕你都get到了么? 摇树优化:Tree Shaking webpa ...

  5. Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )

    在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 ori ...

  6. Git的用法

    Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...

  7. Git 进阶指南

    转自: https://github.com/kaiye/kaiye.github.com/issues/7 在掌握了基础的 Git 使用 之后,可能会遇到一些问题.以下是猫哥筛选总结的部分常见问题, ...

  8. git subtree用法(转)

    git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...

  9. Django框架学习-Model进阶用法

    Model进阶用法 回顾 访问外键 访问多对多关系 更改数据库结构 当处理数据库结构改变时,需要注意到几点: 增加字段 首先在开发环境中: 再到产品环境中: 删除字段 删除多对多字段 删除model ...

随机推荐

  1. 最近在学习python,做了一道人机大战的题目,分享一下,虽然可能有些麻烦,但是每个人思维是不同的。

    #题目如下:1:人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字 : 1 import random c ...

  2. STM32——TIM2定时器定时

    STM32 中一共有11 个定时器,其中2 个高级控制定时器,4 个普通定时器和2 个基本定时器,以及2 个看门狗定时器和1 个系统嘀嗒定时器.其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗 ...

  3. Oracle内置函数

    单行函数:当查询表或试图时每行都能返回一个结果,可用于select,where,order by等子句中. 对于没有目标的select查询用dual表,这个表时真实存在的,每个用户都可以读取. 单行函 ...

  4. Wooden Sticks [POJ1065] [DP]

    Description 有N根木棍等待处理.机器在处理第一根木棍时需要准备1分钟,此后遇到长宽都不大于前一根木棍的木棍就不需要时间准备,反之则需要1分钟重新准备.比如木棍按照(3,3).(1,3).( ...

  5. JAVA分词包

    自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 自动摘要 短语提取 拼音 简繁转换 http://www.hankcs.com/nlp/ https://github.com ...

  6. 单向LSTM笔记, LSTM做minist数据集分类

    单向LSTM笔记, LSTM做minist数据集分类 先介绍下torch.nn.LSTM()这个API 1.input_size: 每一个时步(time_step)输入到lstm单元的维度.(实际输入 ...

  7. CentOS下双网卡双IP不同IP段配置

    环境: eth0:10.0.7.2  gw :10.0.7.254 netmask:255.255.255.0 eth1:168.6.101.2    gw :168.6.101.254    net ...

  8. C#轻量级配置文件组件EasyJsonConfig

    一.课程介绍 一.本次分享课程<C#轻量级配置文件EasyJsonConfig>适合人群如下: 1.有一定的NET开发基础. 2.喜欢阿笨的干货分享课程的童鞋们. 二.今天我们要如何优雅解 ...

  9. What is the NETStandard.Library metapackage?

    In my last post, I took a quick look at the Microsoft.AspNetCore meta package. One of the libraries ...

  10. iOS NSDictionary 转Json 去掉换行去掉空格

    //dic 转json 如果用系统自带的会出现空格. + (NSString *)returnJSONStringWithDictionary:(NSDictionary *)dictionary{ ...