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. 潭州课堂25班:Ph201805201 tornado 项目 第二课 项目 基本功能模块和 Git 使用 (课堂笔记)

    tornado 相关说明 把图片显示在页面, 创建个 static 文件夹, 在这个文件下存放几张图片 在配置中指定静态文件路径, 在 html 文件中迭代出图片, 创建个包,重构 handlers ...

  2. 教你用Windows自带工具给优盘/移动硬盘添加密码

    教你用Windows自带工具给优盘/移动硬盘添加密码 本文中优盘,移动硬盘和分区操作方式一样,为方便描述,下文将只说优盘 优盘成了很多人每天都会用到的工具,有时候自己优盘会存着一些不希望别人看到的文件 ...

  3. 读《31天学会CRM项目开发》记录1 - 认识软件开发

    今天闲来无事,心中又对软件开发充满了向往和憧憬.一直认为实践是检验真知的唯一标准,也是快速提升的绝密方法,是巩固基础加深基础的好去处.故在JD上搜了下软件开发,看到了这本<31天学会CRM项目开 ...

  4. Mysql建库建用户建表等常用命令

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...

  5. BZOJ1482 : [Balkan2017]Cats

    若猫和狗中至少有一个出现了$0$次,那么答案显然是$0$,否则若狮子出现了$0$次,那么显然无解. 那么现在至少有一个动物保持原地不同,其它动物恰好移动一次. 如果全部猫都不动而全部狗都动,那么可以贪 ...

  6. Tarjan求强连通分量 缩点

    强连通分量的定义: 在一张有向图中,如果两个点u,v之间能相互到达则称这两个点u,v是强连通的,在这个基础上如果有向图G中的任意两个顶点都强连通,那么称图G是一个强连通图.有向非强连通图的极大强连通子 ...

  7. Seaborn入门

    Seaborn入门 Seaborn是基于matplotlib的python数据可视化库,提供更高层次的API封装,使用起来更加方便快捷. displot displot()集成了hist直方图和kde ...

  8. Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写

    字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum  是否是汉字 ...

  9. Ubuntu1404 开启定时任务 crontab

    crontab -e 这个 我使用vim编辑,所以选择3,进入到 写了两条,的确隔了一分钟在test.txt文件夹里面会多加一条Good morning进去.而且也会执行dingshi.sh这个she ...

  10. JS自学笔记05

    JS自学笔记05 1.例题 产生随机的16进制颜色 function getColor(){ var str="#"; var arr=["0","1 ...