git自定义快捷命令

写这个就是为了抛砖引玉提供一种快捷命令的方式顺便记录一下,原理就是利用linux系统的alias自定义命令,实现复杂脚本处理逻辑(gitalias 只能针对单独git命令设置)。毕竟重复的操作能少一些是一些~

vim ~/.bash_profile

添加以下配置,可以根据自己习惯自定义

.bashrc

alias gp="sh ~/gal/gp.sh"
alias gc="sh ~/gal/gc.sh"
alias gmo="sh ~/gal/gmo.sh"
alias gml="sh ~/gal/gml.sh"
alias gs="git status"
alias grh="sh ~/gal/grh.sh"
alias gpl="git pull --rebase"
alias cls="clear"

保存以后(先创建对应gal下sh文件)再执行source命令

source ~/.bashrc

生效以后 就可以使用快捷命令了
比如

gp 'fix: xxx yfdtr-1'

~/gal目录下创建:

gc.sh

#!/bin/bash
  
git add .;

if [ -z $1 ]     
then
        echo 'gc [commit msg]'
        exit 1
fi
git commit -m $0

gml.sh

#!/bin/bash
  
if [ -z $1 ]     
then
        echo 'gml [branch name]'
        exit 1
fi
git merge --log --no-ff $1

gmo.sh

#!/bin/bash
  
if [ -z $1 ]
then
        echo 'gmo [branch name]'
        exit 1
fi
git merge --log --no-ff "origin/$1"

gp.sh

 
#!/bin/bash

git add .;

if [ -z "$1" ]; 
then 
        echo 'gp [commit msg]'
        exit 1
fi
git commit -m "$1"

git pull --rebase > .interim

conflict=0
cat .interim | while read line
do
        if [[ $line =~ "CONFLICT" ]];
        then
                $conflict=1
        fi
done

rm -f .interim

if [ "$conflict" == 0 ];
then
        gtr push
fi

grh.sh

#!/bin/bash
  
if [ -z $1 ]     
then
        git reset --hard
else
        git reset --hard $1
fi
    原文作者:衣乌安、
    原文地址: https://blog.csdn.net/zSY_snake/article/details/116999067
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞