added custom functions dir in .config
This commit is contained in:
@@ -0,0 +1,103 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function is_git {
|
||||||
|
|
||||||
|
# check if current folder is git repository
|
||||||
|
git_check_command=$(git -C $1 rev-parse > /dev/null 2>&1)
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_current_branch {
|
||||||
|
echo $(git branch | grep "*" | awk '{print $NF}')
|
||||||
|
}
|
||||||
|
|
||||||
|
function auto_save_git {
|
||||||
|
|
||||||
|
if [[ $(is_git ".") -ne 0 ]]; then
|
||||||
|
echo "Current dir is not a git repository."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
current_branch_name=get_current_branch
|
||||||
|
|
||||||
|
timestamp=`date +%Y_%m_%d_%H_%M_%S`
|
||||||
|
new_branch_name="git_auto_save/$HOST/$timestamp"
|
||||||
|
|
||||||
|
# check if there is unsaved work
|
||||||
|
changes=`git status --ignore-submodules=dirty | grep -E 'modified|deleted|new'`
|
||||||
|
if [[ ! $changes ]]; then
|
||||||
|
echo "No changes found."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# stash changes
|
||||||
|
git stash
|
||||||
|
|
||||||
|
# create new branch
|
||||||
|
git checkout -b $new_branch_name
|
||||||
|
git push origin $new_branch_name
|
||||||
|
|
||||||
|
# apply stashed changes
|
||||||
|
git stash apply
|
||||||
|
|
||||||
|
# add changed files
|
||||||
|
git add -u
|
||||||
|
|
||||||
|
# commit changes
|
||||||
|
git commit -m "git autosave from $timestamp"
|
||||||
|
|
||||||
|
# push changes
|
||||||
|
git push --set-upstream origin $new_branch_name
|
||||||
|
|
||||||
|
# move back to initial branch
|
||||||
|
git checkout $current_branch_name
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove_auto_save {
|
||||||
|
|
||||||
|
if [[ $(is_git ".") -ne 0 ]]; then
|
||||||
|
echo "Current dir is not a git repository."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
auto_save_branch=`git branch | grep "git_auto_save" | head -1 | awk '{print $FN}'`
|
||||||
|
|
||||||
|
if [[ ! $auto_save_branch ]]; then
|
||||||
|
echo "No auto save branch found."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
auto_save_branch=${auto_save_branch:2}
|
||||||
|
current_branch=$(get_current_branch)
|
||||||
|
|
||||||
|
# if on autosave branch, move to master
|
||||||
|
if [[ $current_branch == $auto_save_branch ]]; then
|
||||||
|
echo "Currently on autosave path, moving to Master"
|
||||||
|
git checkout master
|
||||||
|
fi
|
||||||
|
|
||||||
|
# remove local branch
|
||||||
|
git branch -d $auto_save_branch
|
||||||
|
|
||||||
|
# remove remote branch
|
||||||
|
git push origin --delete $auto_save_branch
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove_all_auto_saves {
|
||||||
|
# remove all auto save branches
|
||||||
|
|
||||||
|
if [[ $(is_git ".") -ne 0 ]]; then
|
||||||
|
echo "Current dir is not a git repository."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,3 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
custom_func_dir=$HOME/.config/custom_functions
|
||||||
|
for f in $custom_func_dir/*; do source $f; done
|
||||||
|
|
||||||
function connectToStorageVM() {
|
function connectToStorageVM() {
|
||||||
ssh alex@173.212.206.52
|
ssh alex@173.212.206.52
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -49,7 +49,7 @@ set-option -g status-right-length 90
|
|||||||
set-option -g status-left "#(~/.config/tmux-powerline/powerline.sh left)"
|
set-option -g status-left "#(~/.config/tmux-powerline/powerline.sh left)"
|
||||||
set-option -g status-right "#(~/.config/tmux-powerline/powerline.sh right)"
|
set-option -g status-right "#(~/.config/tmux-powerline/powerline.sh right)"
|
||||||
|
|
||||||
source "/usr/lib/python3.9/site-packages/powerline/bindings/tmux/powerline.conf"
|
source "$HOME/.local/lib/python3.9/site-packages/powerline/bindings/tmux/powerline.conf"
|
||||||
|
|
||||||
|
|
||||||
# clear both screen and history
|
# clear both screen and history
|
||||||
|
|||||||
@@ -30,6 +30,12 @@ nmap <leader>W :q!<CR>
|
|||||||
nmap <leader>vs :vs<CR>
|
nmap <leader>vs :vs<CR>
|
||||||
nmap <leader>hs :hs<CR>
|
nmap <leader>hs :hs<CR>
|
||||||
|
|
||||||
|
" copy to system clipboard
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
noremap <Leader>y "*y
|
||||||
|
noremap <Leader>p "*p
|
||||||
|
noremap <Leader>Y "+y
|
||||||
|
noremap <Leader>P "+p
|
||||||
|
|
||||||
" set the runtime path to include Vundle and initialize
|
" set the runtime path to include Vundle and initialize
|
||||||
set rtp+=~/.vim/bundle/Vundle.vim
|
set rtp+=~/.vim/bundle/Vundle.vim
|
||||||
|
|||||||
Reference in New Issue
Block a user