diff --git a/aliases/available/git.aliases.bash b/aliases/available/git.aliases.bash index 7e4e83e3..b0e17d49 100644 --- a/aliases/available/git.aliases.bash +++ b/aliases/available/git.aliases.bash @@ -9,6 +9,7 @@ alias gus='git reset HEAD' alias gm="git merge" alias g='git' alias get='git' +alias gfa='git fetch -a; for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master `; do git branch --track ${branch#remotes/origin/} $branch; done' alias gst='git status' alias gs='git status' alias gss='git status -s' diff --git a/plugins/available/git.plugin.bash b/plugins/available/git.plugin.bash index 6506ca45..0647ae27 100644 --- a/plugins/available/git.plugin.bash +++ b/plugins/available/git.plugin.bash @@ -1,6 +1,14 @@ cite about-plugin about-plugin 'git helper functions' +function git_new_branch { + about 'adds new branch $1 and tracks it on origin' + group 'git' + + echo "Running: git checkout -b $1; git push -u origin $1" + git checkout -b "$1"; git push -u origin "$1" +} + function git_remote { about 'adds remote $GIT_HOSTING:$1 to current repo' group 'git'