mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 15:36:21 -04:00
Merge branch 'master' into git-bulk-command
This commit is contained in:
commit
de15bf7fb0
|
|
@ -41,16 +41,22 @@ test -z "$user" && abort "git config user.email required"
|
|||
# branch
|
||||
|
||||
branch=${1-$(git symbolic-ref HEAD | sed 's/refs\/heads\///')}
|
||||
remote=$(git config branch."$branch".remote)
|
||||
if [ -z "$remote" ]; then
|
||||
echo 'no upstream found, push to origin as default'
|
||||
remote="origin"
|
||||
fi
|
||||
[ "$remote" == "." ] && abort "the upstream should be a remote branch."
|
||||
|
||||
# make sure it's pushed
|
||||
|
||||
git push origin "$branch" || abort "failed to push $branch"
|
||||
git push "$remote" "$branch" || abort "failed to push $branch"
|
||||
|
||||
origin=$(git config remote.origin.url)
|
||||
if [[ $origin == git@* ]]; then
|
||||
project=${origin##*:}
|
||||
remote_url=$(git config remote."$remote".url)
|
||||
if [[ "$remote_url" == git@* ]]; then
|
||||
project=${remote_url##*:}
|
||||
else
|
||||
project=${origin#https://*/}
|
||||
project=${remote_url#https://*/}
|
||||
fi
|
||||
project=${project%.git}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# Assert there is at least one branch provided
|
||||
test -z $1 && echo "new branch name required." 1>&2 && exit 1
|
||||
|
||||
new_branch="$1"
|
||||
old_branch="${2-$(git symbolic-ref --short -q HEAD)}"
|
||||
remote=$(git config branch."$old_branch".remote)
|
||||
|
||||
git branch -m "$old_branch" "$new_branch"
|
||||
git push origin :"$old_branch"
|
||||
git push --set-upstream origin "$new_branch"
|
||||
# check if the branch is tracking a remote branch
|
||||
if [[ -n "$remote" && "$remote" != "." ]]
|
||||
then
|
||||
git push "$remote" :"$old_branch"
|
||||
git push --set-upstream "$remote" "$new_branch"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in a new issue