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. Java并发编程(六)-- 同步块

    上一节已经讲到,使用Synchronzied代码块可以解决共享对象的竞争问题,其实还有其他的方法也可以避免资源竞争问题,我统称他们为Java同步块.Java 同步块(synchronized bloc ...

  2. malloc函数详解 C语言逻辑运算符

    今天写线性表的实现,又遇到了很多的难题,C语言的指针真的没学扎实.很多基础都忘了. 一是 :malloc 函数的使用. 二是:C语言逻辑运算符. 一.原型:extern void *malloc(un ...

  3. 1099 Lottery

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1099 英文水平太差了,题目实在是不知道是什么意思,然后看了其他高手写的思路,才看明白. 题意,收集n张彩票 ...

  4. pyhthon 利用爬虫结合阿里大于短信接口实现短信发送天气预报

    # -*- coding: utf-8 -*- ''''' SDK for alidayu requires: python3.x, requests @author: raptor.zh@gmail ...

  5. Python——运算符

    Python算术运算符 以下假设变量: a=10,b=20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 ...

  6. Struts2网页面传值两种方式

    第一种方式: /** 列表 */ public String list() throws Exception { List<Role> roleList = roleService.fin ...

  7. PAT Basic 1020

    1020 月饼 (25 分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意 ...

  8. mysql:Cannot proceed because system tables used by Event Scheduler were found damaged at server start

    mysql 5.7.18 sqlyog访问数据库,查看表数据时,出现 Cannot proceed because system tables used by Event Scheduler were ...

  9. log4j2发送消息至Kafka

    title: 自定义log4j2发送日志到Kafka tags: log4j2,kafka 为了给公司的大数据平台提供各项目组的日志,而又使各项目组在改动上无感知.做了一番调研后才发现log4j2默认 ...

  10. Wordpress页面只显示一篇文章