Merge pull request #242 from jimmynotjim/git-additions
Added new aliases and plugins for gitpull/244/head
commit
8ddb1fc95c
|
|
@ -5,6 +5,8 @@ about-alias 'common git abbreviations'
|
|||
alias gcl='git clone'
|
||||
alias ga='git add'
|
||||
alias gall='git add .'
|
||||
alias gus='git reset HEAD'
|
||||
alias gm="git merge"
|
||||
alias g='git'
|
||||
alias get='git'
|
||||
alias gst='git status'
|
||||
|
|
@ -19,6 +21,7 @@ alias gpo='git push origin'
|
|||
alias gdv='git diff -w "$@" | vim -R -'
|
||||
alias gc='git commit -v'
|
||||
alias gca='git commit -v -a'
|
||||
alias gcm='git commit -v -m'
|
||||
alias gci='git commit --interactive'
|
||||
alias gb='git branch'
|
||||
alias gba='git branch -a'
|
||||
|
|
|
|||
|
|
@ -17,6 +17,92 @@ function git_first_push {
|
|||
git push origin master:refs/heads/master
|
||||
}
|
||||
|
||||
function git_pub() {
|
||||
about 'publishes current branch to remote origin'
|
||||
group 'git'
|
||||
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
echo "Publishing ${BRANCH} to remote origin"
|
||||
git push -u origin $BRANCH
|
||||
}
|
||||
|
||||
function git_revert() {
|
||||
about 'applies changes to HEAD that revert all changes after this commit'
|
||||
group 'git'
|
||||
|
||||
git reset $1
|
||||
git reset --soft HEAD@{1}
|
||||
git commit -m "Revert to ${1}"
|
||||
git reset --hard
|
||||
}
|
||||
|
||||
function git_rollback() {
|
||||
about 'resets the current HEAD to this commit'
|
||||
group 'git'
|
||||
|
||||
function is_clean() {
|
||||
if [[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]]; then
|
||||
echo "Your branch is dirty, please commit your changes"
|
||||
kill -INT $$
|
||||
fi
|
||||
}
|
||||
|
||||
function commit_exists() {
|
||||
git rev-list --quiet $1
|
||||
status=$?
|
||||
if [ $status -ne 0 ]; then
|
||||
echo "Commit ${1} does not exist"
|
||||
kill -INT $$
|
||||
fi
|
||||
}
|
||||
|
||||
function keep_changes() {
|
||||
while true
|
||||
do
|
||||
read -p "Do you want to keep all changes from rolled back revisions in your working tree? [Y/N]" RESP
|
||||
case $RESP
|
||||
in
|
||||
[yY])
|
||||
echo "Rolling back to commit ${1} with unstaged changes"
|
||||
git reset $1
|
||||
break
|
||||
;;
|
||||
[nN])
|
||||
echo "Rolling back to commit ${1} with a clean working tree"
|
||||
git reset --hard $1
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Please enter Y or N"
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
if [ -n "$(git symbolic-ref HEAD 2> /dev/null)" ]; then
|
||||
is_clean
|
||||
commit_exists $1
|
||||
|
||||
while true
|
||||
do
|
||||
read -p "WARNING: This will change your history and move the current HEAD back to commit ${1}, continue? [Y/N]" RESP
|
||||
case $RESP
|
||||
in
|
||||
[yY])
|
||||
keep_changes $1
|
||||
break
|
||||
;;
|
||||
[nN])
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Please enter Y or N"
|
||||
esac
|
||||
done
|
||||
else
|
||||
echo "you're currently not in a git repository"
|
||||
fi
|
||||
}
|
||||
|
||||
function git_remove_missing_files() {
|
||||
about "git rm's missing files"
|
||||
group 'git'
|
||||
|
|
|
|||
Loading…
Reference in New Issue