Impls git-discard function
This commit is contained in:
parent
467b5212cf
commit
e812876dd3
1 changed files with 48 additions and 1 deletions
|
@ -4,6 +4,53 @@ function wgbranch {
|
|||
}
|
||||
|
||||
|
||||
function git-discard {
|
||||
option=$1
|
||||
|
||||
if [[ $option == '' ]]; then
|
||||
echo "Please supply option: --staged, --unstaged, --untracked, or --all"
|
||||
fi
|
||||
|
||||
if [[ $option == '--all' ]]; then
|
||||
git-discard --staged && git-discard --unstaged && git-discard --untracked
|
||||
fi
|
||||
|
||||
if [[ $option == '--staged' ]]; then
|
||||
staged_files=$(git --no-pager diff --name-only --staged)
|
||||
|
||||
echo -n "Discarding staged..." &&
|
||||
git reset HEAD $staged_files >/dev/null &&
|
||||
echo "done."
|
||||
fi
|
||||
|
||||
if [[ $option == '--unstaged' ]]; then
|
||||
unstaged_files=$(git --no-pager diff --name-only)
|
||||
|
||||
echo -n "Discarding unstaged..." &&
|
||||
git checkout -- $unstaged_files >/dev/null
|
||||
echo "done."
|
||||
fi
|
||||
|
||||
if [[ $option == '--untracked' ]]; then
|
||||
untracked_files=$(git ls-files --others --exclude-standard)
|
||||
|
||||
echo -n "Discarding untracked..."
|
||||
for file in $untracked_files; do
|
||||
if [ -f $file ]; then
|
||||
rm $file
|
||||
else
|
||||
rm -rf $file
|
||||
fi
|
||||
done
|
||||
echo "done."
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function git-list {
|
||||
}
|
||||
|
||||
|
||||
# Outputs staged, unstaged, untracked files
|
||||
# Similar to `git status` output but without the cruft
|
||||
function wg-git-changed-files {
|
||||
|
|
Loading…
Reference in a new issue