xmxm76 发表于 2018-1-13 13:07:21

Git进阶用法

  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库,与具体用户应用项目有关的三个项目:蜘蛛侠,闪电侠,钢铁侠;
页: [1]
查看完整版本: Git进阶用法