git 的几个好用自定义命令
备注: 把三个文件放到 /usr/local/bin 下
1. 把 checkout 的当前分支推送到远端 (文件名:gpr)用法: 项目路径下执行: gpr
点击(此处)折叠或打开
- #!/bin/bash
- #保存当前分支
- curBranch=`git symbolic-ref --short -q HEAD`
- git push origin $curBranch
- git branch --set-upstream-to=origin/$curBranch $curBranch
2. 分支合并, 指定分支合并到目标分支 (文件名:gmm)
用法: gmm 源分支 目标分支
例: gmm origin/master common_dev
没有参数直接 gmm 时, 合并 origin/maste 到当前分支
点击(此处)折叠或打开
- #!/bin/bash
- #保存当前分支
- curBranch=`git symbolic-ref --short -q HEAD`
- #源分支
- sourceBranch='origin/master'
- if [ $1 ]; then
- sourceBranch=$1
- else
- git fetch
- fi
- #目标分支
- targetBranch="$curBranch"
- if [ $2 ]; then
- targetBranch="$2"
- git checkout $targetBranch
- #拉去最新代码分支
- git pull
- fi
- #分支合并
- echo
- echo "分支 $sourceBranch 合并到 $targetBranch "
- echo
- git merge $sourceBranch -m "分支 $sourceBranch 合并到 $targetBranch "
- #推送代码
- git push
- #切换回当前分支
- git checkout $curBranch
3. 代码提交 (文件名:gci)
用法: 项目路径下执行: gci
包含了 git commit; git pull; git push
- #!/bin/bash
- #git add .
- description='默认注释-xxx'
- if [ $1 ]; then
- description=$1
- fi
- git commit -m $description
- git pull
- git push
4. 删除无用分支 (文件名:gbdr)
用法: gbdr 待删除分支名
说明: 当前不能位于待删除分支上
- #!/bin/bash
- if [ $1 ]; then
- if [ $2 ]; then
- git branch $1 $2
- else
- git branch -d $1
- fi
-
- git push origin :$1
- else
- echo "用法:"
- echo "gbdr 分支名称 --删除本地分支,远程分支"
- echo "gbdr -D 分支名称 --强制删除本地分支,远程分支"
- fi