本帖最后由 安仔码头 于 2016-10-14 20:59 编辑

  1. <pre style="line-height: normal;">
  2. #!/usr/bin/env bash
  3.   
  4. git(){
  5.     case "$1" in
  6.         diff)
  7.             diff="$@"
  8.             if echo "$diff" | grep -P '\\s--help(?:\\s|$)' >/dev/null 2>&1; then
  9.                 /usr/bin/env git $@
  10.             elif ! echo "$diff" | grep -P '\\s-b(?:\\s|$)' >/dev/null 2>&1; then
  11.                 diff="${diff:0:5} -b ${diff:5}"
  12.                 /usr/bin/env git $diff
  13.             fi
  14.             ;;
  15.         pack)
  16.             pack="$@"
  17.             if echo "$pack" | grep -P '\\s--help(?:\\s|$)' >/dev/null 2>&1; then
  18.                 echo "Usage: git pack [savefile.tar.gz] [old version] [new version]"
  19.                 echo
  20.                 echo "default filename like /tmp/git-update-$(date +%H%M%S).tar.gz"
  21.                 echo "default old/new version is HEAD"
  22.             else
  23.                 pack "$2" "$3" "$4"
  24.             fi
  25.             ;;
  26.         *)
  27.         /usr/bin/env git "$@";;
  28.     esac
  29. }
  30.   
  31. pack(){
  32.     if [ "$1" = "" ]; then
  33.         zip="/tmp/git-update-$(date +%H%M%S).tar.gz"
  34.         new="HEAD"
  35.         old="HEAD"
  36.     elif echo "$1" | grep -iP '^[\\da-f]+[font=微软雅黑, Verdana, sans-serif, 宋体, arial, Tahoma, SimSun][size=12px]

  37. git archive 命令打包指定版本时有点长,[/size][/font][font=微软雅黑, Verdana, sans-serif, 宋体, arial, Tahoma, SimSun][size=12px]学写了简单脚本用来打包指定版本修改文件。[/size][/font][font=微软雅黑, Verdana, sans-serif, 宋体, arial, Tahoma, SimSun][size=12px]修复 git diff --help 不能出帮助的问题[/size][/font]

  38. [font=微软雅黑, Verdana, sans-serif, 宋体, arial, Tahoma, SimSun][size=12px]
  39. [/size][/font]
  40. [font=微软雅黑, Verdana, sans-serif, 宋体, arial, Tahoma, SimSun][size=12px]吐槽 没有SHELL代码片段,以及不高亮啊。[/size][/font]


  41. >/dev/null 2>&1; then
  42.         zip="/tmp/git-update-$(date +%H%M%S).tar.gz"
  43.         old="$1";
  44.         if [ "$2" = "" ]; then
  45.             new="HEAD"
  46.         else
  47.             new="$2"
  48.         fi
  49.     else
  50.         if [ "$1[0]" = "/" ]; then
  51.             zip="$1"
  52.         else
  53.             zip="`pwd`/$1"
  54.         fi
  55.         if [ "$2" = "" ]; then
  56.             new="HEAD"
  57.             old="HEAD"
  58.         else
  59.             old="$2"
  60.             if [ "$3" = "" ]; then
  61.                 new="HEAD"
  62.             else
  63.                 new="$3"
  64.             fi
  65.         fi
  66.     fi
  67.   
  68.     /usr/bin/env git archive -o "$zip" "$new" $(/usr/bin/env git diff --name-only "$old" "$new")
  69.     echo $zip
  70. }</pre>
复制以上内容


git archive 命令打包指定版本时有点长,
学写了简单脚本用来打包指定版本修改文件。修复 git diff --help 不能出帮助的问题



吐槽 没有SHELL代码片段,以及不高亮啊。


页面提交后 有BUG啊。。。。。。

收藏
0 条回帖
需要登陆后才可进行回复 登录
*滑动验证:

返回顶部
现在加入我们,注册一个账号 账号登陆 QQ账号登陆 微博账号登陆

微信扫一扫,马上找工作

在线客服