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库,与具体用户应用项目有关的三个项目:蜘蛛侠,闪电侠,钢铁侠;