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. C# 结合html5 批量上传文件和图片预览

    html5 新特性 <input id="imgsf" type="file" name="imgsf" multiple /> ...

  2. BZOJ3795 : 魏总刷DP

    对于HARD: 需要满足$k+u[i]\times k\leq T+late[i]$. 对于EASY: 需要满足$k+u[i]\times k\leq T-rest[i]$. 故对于HARD,设$a[ ...

  3. 2017.07.11【NOIP提高组】模拟赛B组

    Summary 今天的比赛打得还不错,第一题被同桌灌输的贪心,纯模拟洗脑了,然后steal的看了一下,发现怎么也对不了,一直在检查.最后10分钟才找出反例,推出动态规划方程,没有想到怎么转移,比赛就结 ...

  4. BZOJ3252攻略——长链剖分+贪心

    题目描述 题目简述:树版[k取方格数] 众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏.今天他得到了一款新游戏<XX 半岛>,这款游戏有n个场景(scene),某 ...

  5. BZOJ4381[POI2015]Odwiedziny——分块+长链剖分

    题目描述 给定一棵n个点的树,树上每条边的长度都为1,第i个点的权值为a[i].Byteasar想要走遍这整棵树,他会按照某个1到n的全排列b走n-1次,第i次他会从b[i]点走到b[i+1]点,并且 ...

  6. windows配置java运行环境

    配置jdk环境    https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 配置tomcat环境      https://j ...

  7. HTML5 — 地理定位

    Geolocation:地理定位,获取当前浏览器所在的地理坐标信息(包括经度.纬度.海拔高度.移动速度),实现LBS应用(Location Based Service)——基于定位的服务,如订   餐 ...

  8. 180400之pycharm快捷方式汇总

    1.Pycharm中快捷键大全,遇到一个更新一个 撤销与反撤销:Ctrl + z,Ctrl + Shift + z 缩进.不缩进:Tab.Shift + tab 运行:Shift + F10 批量注释 ...

  9. Linux命令第二篇

    作业二: 1)   在用户的主目录下创建目录test,进入test创建空文件file1 # ls /home/test file 2)   以长格式形式显示文件信息,注意文件的权限和所属用户和组 # ...

  10. gitbook build 报错

    如下图所示 解决方案,通过 everythings 找到 copyPluginAssets.js,然后搜索 confirm,将其值  true –> false 参考链接:https://git ...