码农知识堂 - 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

    ```

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

  • 相关阅读:
    斯坦福:未来的RGB LED可以贴在你的皮肤上
    第二十一章·备忘录模式
    C与C++字符串方法示例
    智能文件改名:高效复制并删除冗余,简化文件管理“
    [工业自动化-22]:西门子S7-15xxx编程 - 软件编程 - 如何PLC建立用户界面: SIMATIC 面板式HMI 或工控机PC HMI
    Java开发学习(四十)----MyBatisPlus入门案例与简介
    每日五道java面试题之java基础篇(九)
    js中进行数字,超大金额(千位符)格式化处理
    2022 CSP-J1 入门组 初赛 第1轮 讲解 解析 真题讲解
    学网络安全需要什么基础?
  • 原文地址: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号