码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • git原来还可以这么用?你不知道的自定义命令


    通过设置git alias来创建自定义命令
    当使用的命令行工具不是git的时候,添加!来声明
    例如: git config --global alias.pushopen '!bash git-open.sh'

    在~/.bashrc 文件里面声明环境变量:

    # User configuration @~/.bashrc
    export PATH=~/bin:"$PATH"
    复制代码
    创建~/bin文件夹。
    创建 shell 脚本文件
    编写一个自定义提交的shell脚本(git-open.sh):

    1. #!/bin/bash
    2. gitlab=http://gitlab.personal.io
    3. git push $@
    4. remote='origin'
    5. if [[ ! -z $1 ]] && [[ ! "$1" =~ "-" ]];then
    6.         br=$1
    7. fi
    8. address=$(git remote -v | grep $remote | awk -F' ' 'NR==1{print $2}' | awk -F'/' '{print "/"$4"/"$5}')
    9. drs=${address:0:-4}
    10. commit=$(git log -1 | awk 'NR==1{print $2}')
    11. echo "$gitlab$drs"/commit/"$commit"

    复制代码
    保存之后执行
    git pushopen 时则会自动在命令行打印出最新提交的commit链接。

    编写另一个自定义提交的shell脚本(git-clear.sh)

    1. #!/bin/bash
    2. arg=${1:-"-d"}
    3. br=${2:-"fixbug"}
    4. if [[ $arg != "-d" ]] && [[ $arg != '-D' ]]
    5. then
    6. arg='-d'
    7. br=$1
    8. fi
    9. git branch | grep $br | xargs git branch $arg


    复制代码
    保存后执行 git clear xxx(不传该参数默认为fixbug) 就可以自动删除 xxx 相关的分支了。

    最近又觉得一个切换分支的操作不错(git-co.sh):
    ```
    #!/bin/bash

    if [[ -z $1 ]]
      then
        echo plz input branch name

      else
        if [[ -z $2 ]]
        then
          if [[ $1 == - ]]
            then git checkout $1
            else 
              br=$(git branch -a | grep $1 | awk -F ' ' 'NR==1{print $1}')
              if [[ -z $br ]]
                then echo not match branch name with: $1
                else git checkout $br
              fi
          fi
        else
          git checkout $*
        fi
    fi

    ```

    设置好之后切换分支就可以模糊切换了

  • 相关阅读:
    【Node.js】解决接口跨域问题(CORS和JSONP)
    Pytorch使用torchvision.datasets.ImageFolder读取数据集,数据集的内容排列状况
    【Android进阶】3、Activity 的生命周期
    18-Go语言之单元测试
    项目管理,如何做到流程标准化?
    改进YOLOv5系列:结合ShuffleNet V2主干网络,高效CNN架构设计的实用指南
    编程题01——十进制转二进制
    【网络篇】第十一篇——简单的TCP英译汉服务器
    算法系列四:十大经典排序算法之——冒泡排序
    基于上下文的业务流建模法(三)
  • 原文地址:https://blog.csdn.net/q275757160/article/details/127783843
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号