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

  • 相关阅读:
    面试准备
    session
    memcached优化方案实例
    MySQL用户管理
    MySQL事务
    Linux防火墙
    Linux权限体系
    Linux查看日志文件
    查看系统状态
    负载均衡(六)分表分库的负载均衡
  • 原文地址:https://www.cnblogs.com/RunForLove/p/4870291.html
Copyright © 2020-2023  润新知