46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
## Wrapper for my dotfiles
|
||
|
|
||
|
git="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME"
|
||
|
cmd="$git status" ## by default, give the status
|
||
|
|
||
|
[ "$1" = "-g" ] && shift && cmd="$git $@" ## make the wrapper transparent
|
||
|
|
||
|
[ "$1" = "-l" ] && shift && cmd="$git log"
|
||
|
[ "$1" = "-c" ] && shift && cmd="$git commit $@"
|
||
|
[ "$1" = "-cas" ] && shift && cmd="$git commit -S --amend $1"
|
||
|
[ "$1" = "-ch" ] && shift && cmd="$git checkout $1"
|
||
|
[ "$1" = "-mv" ] && shift && cmd="$git mv $@"
|
||
|
[ "$1" = "-ps" ] && shift && cmd="$git push $@"
|
||
|
[ "$1" = "-pl" ] && shift && cmd="$git pull"
|
||
|
[ "$1" = "-a" ] && shift && cmd="$git add $@"
|
||
|
[ "$1" = "-rm" ] && shift && cmd="$git rm --cached $@"
|
||
|
[ "$1" = "-rb" ] && shift && cmd="$git rebase -i $1"
|
||
|
[ "$1" = "-rs" ] && shift && cmd="$git reset --soft $1"
|
||
|
[ "$1" = "-d" ] && shift && cmd="$git diff $@"
|
||
|
if [ "$1" = "-m" ] ; then
|
||
|
shift
|
||
|
[ "$1" = "" ] && echo "Please provide a branche to merge from" && exit 1
|
||
|
if [ "$1" != "-a" ] ; then
|
||
|
shift
|
||
|
cmd=""
|
||
|
while [ "$1" != "" ] ; do
|
||
|
cmd="$cmd $git checkout $1 && $git merge dev"
|
||
|
shift
|
||
|
done
|
||
|
cmd="$cmd && $git checkout dev"
|
||
|
else
|
||
|
branches="$(echo "$($git branch)" | sed -e 's/\*/ /;t')"
|
||
|
cmd=""
|
||
|
for arg in $branches ; do
|
||
|
if [ "$arg" != "dev" ] ; then
|
||
|
$git checkout $arg && $git merge dev
|
||
|
fi
|
||
|
done
|
||
|
cmd="$git checkout dev"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
$cmd
|