Seeking a solution to achieve the following:
So far I've got it working but not quite there. My issue really is the latter, but I want to take a moment to rethink the whole thing and get some feedback on how to write this more soundly.
The variable existing_branch
provides SHA and the refs/heads/branchName when a branch is there otherwise git takes hold and provides the expected fatal:
check_for_branch() {
args=("$@")
echo `$branch${args[0]}`
existing_branch=$?
}
create_branch() {
current="git rev-parse --abbrev-ref HEAD"
branch="git show-ref --verify refs/heads/"
args=("$@")
branch_present=$(check_for_branch ${args[0]})
echo $branch_present
read -p "Do you really want to create branch $1 " ans
case $ans in
y | Y | yes | YES | Yes)
if [ ! -z branch_present ]; then
echo "Branch already exists"
else
`git branch ${args[0]}`
echo "Created ${args[0]} branch"
fi
;;
n | N | no | NO | No)
echo "exiting"
;;
*)
echo "Enter something I can work with y or n."
;;
esac
}
You can avoid prompting if the branch already exists, and shorten the script a little, like this:
create_branch() {
branch="${1:?Provide a branch name}"
if git show-ref --verify --quiet "refs/heads/$branch"; then
echo >&2 "Branch '$branch' already exists."
else
read -p "Do you really want to create branch $1 " ans
...
fi
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.