2015年04月14日 My scripts for git [長年日記]
_ My scripts for git
These are my scripts for git in only local using :P
git_setup.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_setup.$$.*.tmp } # function func_help { echo "Usage : $0 [-u USER_NAME] [-m MAIL_ADDRESS]" echo "configure setup." echo "show config without any options." echo "" echo " -u USER_NAME user name for git." echo " -m MAIL_ADDRESS e-mail address for git." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # username="" email="" while [ "$#" != "0" ] do case $1 in -u ) shift username=$1 ;; -m ) shift email=$1 ;; *) func_help exit 1 ;; esac shift done # if [ "X${username}" != "X" ] then git config --global user.name "${username}" fi # if [ "X${email}" != "X" ] then git config --global user.email ${email} fi # git config --get user.name git config --get user.email # func_sweep # exit 0
git_init.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_init.$$.*.tmp } # function func_help { echo "Usage : $0 [-b]" echo "initialize source directory." echo "" echo " -b initialize for bare repository." echo "" echo ".gitignore sample" echo " .gitignore" echo " .*" echo "" echo ".gitatributes sample" echo " .exe binary" echo " .xls binary" echo " .xlsx binary" echo " .doc binary" echo " .docx binary" } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # bare="" while [ "$#" != "0" ] do case $1 in -b) bare="--bare" ;; *) func_help exit 1 ;; esac shift done # git init ${bare} git config --local core.quotepath false # func_sweep # exit 0
git_commit.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_commit.$$.*.tmp } # function func_help { echo "Usage : $0 [-m MESSAGE]" echo "commit all updates." echo "" echo " -m MESSAGE message with commit(default YYYY/MM/DD hh:mm:ss)." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # message="" all="no" while [ "$#" != "0" ] do case $1 in -m ) shift message="$1" ;; -a ) all="yes" ;; *) func_help exit 1 ;; esac shift done # if [ "X${message}" = "X" ] then message=`date +"%Y/%m/%d %H:%M:%S"` fi # if [ "X${all}" = "Xyes" ] then for i in `find . -name .git` do dir=`echo $i | sed -e 's/\.git$//'` (cd ${dir} && git add *; git commit -a -m "${message}") done else git add * git commit -a -m "${message}" fi # func_sweep # exit 0
git_branch.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_branch.$$.*.tmp } # function func_help { echo "Usage : $0 [-a]" echo " $0 -c BRANCH [-p POINT]" echo " $0 -d BRANCH" echo " $0 -g BRANCH" echo " $0 -m BRANCH" echo "manage branch." echo "show branches without any options or with -a option." echo "" echo " -a show both branches in local and remote." echo " -c BRANCH create BRANCH." echo " -p POINT point which branch from(default HEAD)." echo " -d BRANCH delete BRANCH." echo " -g BRANCH go to BRANCH." echo " -m BRANCH merge BRANCH." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # all="" opt_branch="" branch="" point="" while [ "$#" != "0" ] do case $1 in -a) all="$1" ;; -c | -d | -g | -m) opt_branch="$1" shift branch="$1" ;; -p) shift point="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${opt_branch}" = "X-c" ] then git branch ${branch} ${point} elif [ "X${opt_branch}" = "X-d" ] then git branch -D ${branch} elif [ "X${opt_branch}" = "X-g" ] then git checkout ${branch} elif [ "X${opt_branch}" = "X-m" ] then git merge ${branch} else git branch ${all} fi # func_sweep # exit 0
git_status.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_status.$$.*.tmp } # function func_help { echo "Usage : $0" echo "show status." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # git status # func_sweep # exit 0
git_tag.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_tag.$$.*.tmp } # function func_help { echo "Usage : $0 -c TAG_NAME [-m MESSAGE]" echo " $0 -d TAG_NAME" echo "manage tag." echo "show tags without any options." echo "" echo " -c TAG_NAME create tag." echo " -m MESSAGE message with tag(default YYYY/MM/DD hh:mm:ss)." echo " -d TAG_NAME delete tag." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # action="" tag="" message="" while [ "$#" != "0" ] do case $1 in -c ) action=$1 shift tag="$1" ;; -m ) shift message="$1" ;; -d ) action=$1 shift tag="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${message}" = "X" ] then message=`date +"%Y/%m/%d %H:%M:%S"` fi # if [ "X${action}" = "X" ] then git tag elif [ "X${action}" = "X-c" ] then git tag -a -f "${tag}" -m "${message}" elif [ "X${action}" = "X-d" ] then git tag -d "${tag}" else func_help exit 1 fi # func_sweep # exit 0
git_log.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_log.$$.*.tmp } # function func_help { echo "Usage : $0 [-d]" echo "show log." echo "" echo " -d show log with diff." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # opt_diff="" while [ "$#" != "0" ] do case $1 in -d ) shift opt_diff="-p" ;; *) func_help exit 1 ;; esac shift done # git log ${opt_diff} # func_sweep # exit 0
git_diff.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_diff.$$.*.tmp } # function func_help { echo "Usage : $0" echo "show diff between comitted source and uncomitted source." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # git diff # func_sweep # exit 0
git_export.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_export.$$.*.tmp } # function func_help { echo "Usage : $0 -d DEST_DIR [-p POINT]" echo "export source into directory." echo "" echo " -d DEST_DIR directory which export sources into." echo " -p POINT point to export(default HEAD)." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # destdir="" point="" while [ "$#" != "0" ] do case $1 in -d ) shift destdir="$1" ;; -p ) shift point="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${destdir}" = "X" ] then func_help exit 1 fi # if [ "X${point}" = "X" ] then point="HEAD" fi # if [ ! -e "${destdir}" ] then mkdir "${destdir}" fi export destdir git archive --format=tar ${point} | (cd ${destdir} && tar xvf -) # func_sweep # exit 0
git_show.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_show.$$.*.tmp } # function func_help { echo "Usage : $0 -p POINT -f FILE" echo "show file at specified point." echo "" echo " -p POINT point to show(default HEAD)." echo " -f FILE file to show." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # point="" file="" while [ "$#" != "0" ] do case $1 in -p ) shift point="$1" ;; -f ) shift file="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${point}" = "X" ] then point="HEAD" fi # git show ${point}:${file} # func_sweep # exit 0
git_clone.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_clone.$$.*.tmp } # function func_help { echo "Usage : $0 -u URI [-d DIRECTORY]" echo "clone URI into DIRECTORY." echo "" echo " -u URI URI to get." echo " -d DIRECTORY DIRECTORY to get into." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # uri="" dir="" while [ "$#" != "0" ] do case $1 in -u ) shift uri="$1" ;; -d ) shift dir="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${dir}" = "X" ] then git clone "${uri}" else git clone "${uri}" "${dir}" fi # func_sweep # exit 0
git_pull.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_pull.$$.*.tmp } # function func_help { echo "Usage : $0 [-u URI]" echo "fetch and merge sources from URI." echo "" echo " -u URI URI to get(default URI which cloned from)." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # uri="" while [ "$#" != "0" ] do case $1 in -u ) shift uri="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${uri}" = "X" ] then git pull else git pull "${uri}" fi # func_sweep # exit 0
git_push.sh
#! /bin/sh trap "func_sweep; exit 1" INT TERM # function func_sweep { rm -f /tmp/git_push.$$.*.tmp } # function func_help { echo "Usage : $0 [-u URI] [-f LOCAL_BRANCH] [-t REMOTE_BRANCH]" echo "push sources into URI." echo "" echo " -u URI URI to get(default URI which cloned from)." echo " -f LOCAL_BRANCH local branch name to push from." echo " -t REMOTE_BRANCH remote branch name to push into." } # if [ "X$1" = "X-h" -o "X$1" = "X--help" ] then func_help exit 1 fi # uri="" local_branch="" remote_branch="" while [ "$#" != "0" ] do case $1 in -u ) shift uri="$1" ;; -f ) shift local_branch="$1" ;; -t ) shift remote_branch="$1" ;; *) func_help exit 1 ;; esac shift done # if [ "X${uri}" = "X" ] then if [ "X${local_branch}" = "X" -a "X${remote_branch}" = "X" ] then git push else git push "${local_branch}:${remote_branch}" fi else if [ "X${local_branch}" = "X" -a "X${remote_branch}" = "X" ] then git push "${uri}" else git push "${uri}" "${local_branch}:${remote_branch}" fi fi # func_sweep # exit 0
.gitignore
.gitignore .*
.gitatributes
.exe binary