4 ms·
How about #!/bin/sh BRANCHES_POINTING_TO_HEAD=$(git branch --contains HEAD |wc -l) CURRENT_BRANCH=$(git branch --show-current) if [ "$BRANCHES_POINTIN
by xmodem 6y ago
How about
#!/bin/sh
BRANCHES_POINTING_TO_HEAD=$(git branch --contains HEAD |wc -l)
CURRENT_BRANCH=$(git branch --show-current)
if [ "$BRANCHES_POINTING_TO_HEAD" -gt 1 ]; then
if [ "$CURRENT_BRANCH" = "master" ]; then
echo "You're committing to master even though other branches exist."
echo "override with git commit --no-verify"
exit 1
fi
fi
You'll need git 2.22 for the --show-current git option.
But also I would suggest instead using
git checkout -b <new_branch>
to create and switch branches in one command
- dheera 6y agoA better UX would be $ git checkout <new_branch> <new_brach> doesn't exist. Would you like to create it (Y/n): The real problem with "git" is just way too many options. For automated tools there can be a "-n" non-interactive option that fails with an error code and doesn't ask questions.