• Git常用命令表


    1 常用Git场景参考

    (1)如果希望某个文件或者文件夹保留在当前分支上,不要被合并操作更改,那么需要用到如下命令(这个方法我自测感觉不好使,不知道是不是我自己操作有误):

    git config --global merge.ours.driver true         # 创建自定义的merge
    
    echo "test_ignore.xml merge=ours" > .gitattributes  # 在Git根目录创建.gitattributes配置文件,指定test_ignore.xml文件使用当前分支的,不要合并

     (2)分支操作

    git branch -D branch_name                // 删除本地分支
    git push origin :branch_name             // 删除远程分支,origin后有空格
    
    // 创建新分支new_branch并切换过去,如果没有指定from_branch则默认基于master分支创建
    git checkout -b new_branch [from_branch]  
    // 将新创建的分支推送到远程服务器;但推送后并不能直接用git pull/push,还需要指定新分支与远程分支的关联 git push origin new_branch 
             
    // 将本地新分支关联到远程的同名分支上,可以直接使用git pull/push无需指定分支名 git branch --set-upstream-to=origin/new_branch newbranch  

     (3)放弃本地修改

    git checkout .        #本地所有修改的。没有的提交的,都返回到原来的状态
    git stash             #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
    git reset --hard HASH #返回到某个节点,不保留修改。
    git reset --soft HASH #返回到某个节点。保留修改

     (4)删除远程仓库中不存在(已删除)的本地分支

    git fetch -p

     (5)Tag

    git tag                      // 打印所有Tag列表
    git tag -l ‘v0.1.*’          // 搜索所有符合规则的Tag
    
    git tag TV7.10_light         // 打一个轻量标签
    git tag -a TV7.10_Released -m "Comments..."    // 打一个附注标签,其中-a是annotated缩写指定标签类型,后附标签名,-m是标签说明会保存到Tag中
    
    git show TV7.10_Released          // 查看Tag版本信息
    git checkout TV7.10_Released      // 切换到一个Tag
    git tag -d TV7.10_Released        // 删除一个Tag
    
    git push origin TV7.10_Released   // 注意:git push默认是不会自动提交本地Tag的,需要明确写出来才行

    2 Git命令高级用法

     (1)统计git提交次数:展示所有提交次数的详情

    git log | grep "^Author: " | awk '{print $2}' | sort | uniq -c | sort -k1,1nr

    (2)统计指定开发者指定时间段内的提交次数

    git log --author=liuheng.klh --since="2019-03-01" --no-merges | grep -e 'commit [a-zA-Z0-9]*' | wc -l

     (3)统计提交行数:根据1展示出详情,可以填入username。将展示该用户增加行数,删减行数,剩余行数。

    git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s
    ", add, subs, loc }' -
  • 相关阅读:
    利用idea的code inspect功能进行代码静态分析
    AntiSamy测试
    常用git命令
    node 常用命令
    java中byte[] 和16进制字符串互转
    使用idea的条件断点快速定位注解的处理类
    使用数组初始化list
    django连接Mysql数据库
    20分钟快速用django+mysql+pycharm搭建一个自己的web网站学习笔记
    随便谈谈------关于django学习笔记
  • 原文地址:https://www.cnblogs.com/kuliuheng/p/6682476.html
Copyright © 2020-2023  润新知