mirror of
https://github.com/iwata/git-now.git
synced 2026-09-13 08:56:17 -04:00
--rebaseの際に第二引数でbranch元のbranch名を指定することでworking branch
上のnowしたlogのみを検索してrebase範囲にするようにした.
This commit is contained in:
parent
04c31837fc
commit
bd3b6d74cf
48
git-now
Normal file → Executable file
48
git-now
Normal file → Executable file
|
|
@ -5,30 +5,48 @@ MESSAGE="[${PREFIX}] `date +\"%Y/%m/%d %T\"`"
|
|||
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
git add -u
|
||||
printf "${MESSAGE}\n\n%s" "`git diff --cached`" | git commit -F -
|
||||
git add -u
|
||||
printf "${MESSAGE}\n\n%s" "`git diff --cached`" | git commit -F -
|
||||
elif [ $1 != "--rebase" ]
|
||||
then
|
||||
if [ $1 != "--all" ]
|
||||
then
|
||||
git add $@
|
||||
else
|
||||
git add -u
|
||||
git add .
|
||||
fi
|
||||
printf "${MESSAGE}\n\n%s" "`git diff --cached`" | git commit -F -
|
||||
if [ $1 != "--all" ]
|
||||
then
|
||||
git add $@
|
||||
else
|
||||
git add -u
|
||||
git add .
|
||||
fi
|
||||
printf "${MESSAGE}\n\n%s" "`git diff --cached`" | git commit -F -
|
||||
else
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
FIRST_NOW_COMMIT=`git log --pretty=oneline --grep="${PREFIX}" | tail -n 1 | cut -d " " -f 1`
|
||||
INITIAL_COMMIT=`git log --pretty=oneline | tail -n 1 | cut -d " " -f 1`
|
||||
|
||||
if [ ${FIRST_NOW_COMMIT} != ${INITIAL_COMMIT} ]
|
||||
then
|
||||
git rebase -i ${FIRST_NOW_COMMIT}^
|
||||
git rebase -i ${FIRST_NOW_COMMIT}^
|
||||
else
|
||||
WORKING_BRANCH=`git branch -l | grep "*" | cut -d " " -f 2`
|
||||
WORKING_BRANCH=`git branch -l | grep "*" | cut -d " " -f 2`
|
||||
|
||||
git checkout ${FIRST_NOW_COMMIT}
|
||||
git commit --amend
|
||||
git rebase --onto HEAD ${FIRST_NOW_COMMIT} ${WORKING_BRANCH}
|
||||
git checkout ${FIRST_NOW_COMMIT}
|
||||
git commit --amend
|
||||
git rebase --onto HEAD ${FIRST_NOW_COMMIT} ${WORKING_BRANCH}
|
||||
fi
|
||||
else
|
||||
BASE_BRANCH=$2
|
||||
WORKING_BRANCH=`git branch -l | grep "*" | cut -d " " -f 2`
|
||||
COMMON_ANCESTOR_COMMIT=`git merge-base ${BASE_BRANCH} ${WORKING_BRANCH}`
|
||||
FIRST_NOW_COMMIT=`git log ${COMMON_ANCESTOR_COMMIT}.. --pretty=oneline --grep="${PREFIX}" | tail -n 1 | cut -d " " -f 1`
|
||||
INITIAL_COMMIT=`git log --pretty=oneline | tail -n 1 | cut -d " " -f 1`
|
||||
|
||||
if [ ${FIRST_NOW_COMMIT} != ${INITIAL_COMMIT} ]
|
||||
then
|
||||
git rebase -i ${FIRST_NOW_COMMIT}^
|
||||
else
|
||||
git checkout ${FIRST_NOW_COMMIT}
|
||||
git commit --amend
|
||||
git rebase --onto HEAD ${FIRST_NOW_COMMIT} ${WORKING_BRANCH}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in a new issue