gitã®commitãpushå¾ ã¡ã®ç¶æ ãããã³ããã«è¡¨ç¤ºããã¨çµæ§ä¾¿å©
gitのブランチ名をプロンプトに表示すると結構便利 ã®ç¶ãã
gitã§commitãå¿ããpushãå¿ããªãããã«ã
_color_() { color=$1; shift echo -e "\e[${color}${@}\e[0m" } fg_black() { _color_ "30m" $@; } fg_BLACK() { _color_ "30;1m" $@; } fg_red() { _color_ "31m" $@; } fg_RED() { _color_ "31;1m" $@; } fg_green() { _color_ "32m" $@; } fg_GREEN() { _color_ "32;1m" $@; } fg_yellow() { _color_ "33m" $@; } fg_YELLOW() { _color_ "33;1m" $@; } fg_blue() { _color_ "34m" $@; } fg_BLUE() { _color_ "34;1m" $@; } fg_magenta() { _color_ "35m" $@; } fg_MAGENTA() { _color_ "35;1m" $@; } fg_cyan() { _color_ "36m" $@; } fg_CYAN() { _color_ "36;1m" $@; } fg_white() { _color_ "37m" $@; } fg_WHITE() { _color_ "37;1m" $@; } fg_BOLD() { _color_ "1m" $@; } fg_inverse() { _color_ "7m" $@; } fg_INVERSE() { _color_ "1;7m" $@; } gitmodified() { check_remote="n" case $1 in -[vr]) check_remote="y" ;; esac fg_INVERSE '= list branches =' git branch -a fg_INVERSE '= working tree status =' git status echo 'try git diff' if [ "$check_remote" = 'y' ]; then if git config -l | grep svn.url; then fg_INVERSE '= remote =' git-svn dcommit -n else fg_INVERSE '= remote =' if [ -z "$(git log --pretty=oneline origin..HEAD)" ]; then echo "up to date" else fg_RED "NEED TO PUSH!!" git log --name-status --pretty=oneline --abbrev-commit origin..HEAD echo; echo "try:"; echo " git diff origin..HEAD" fi fi fi }
ãªã®ã使ã£ã¦ããããªãµãã«ç¢ºèªãã¦ããã®ã§ããã
ãã¡ãã¡æã¤ã®ãããã©ããããªã£ã¦ããã®ã§ããã³ããã«è¡¨ç¤ºããããã«ãã¦ã¿ã¾ããããããªæã:
ä¸ããé ã«:
- commitå¾ ã¡ãpushå¾ ã¡ããªãã®ã§æåã®ããã³ããã¯ãã¤ãã¨åãã
- ãã¡ã¤ã«t1ã夿´ããã®ã§ãcommitå¾ ã¡ã示ãã*ããããã³ããã«è¡¨ç¤ºããã¦ããã
- commitããã®ã§ãã*ããæ¶ãã¦ãpushå¾ ã¡ã示ãã^ãã表示ããã¦ããã
- åã³ãã¡ã¤ã«t1ã夿´ããã®ã§ãã^ãã«å ãã¦commitå¾ ã¡ã示ãã*ãã表示ããã¦ããã
ããã³ãã表示ãã度㫠git ã³ãã³ãã¨ãã¨ãå©ãã¦ããã§ã¡ãã£ã¨ããã§ããã©ã便å©ã«ä½¿ã£ã¦ã¾ãã
__git_reminder() { [ -d "$PWD/.git" ] || return M= git status | grep -q '^nothing to commit' 2>/dev/null || M=$M'*' [ ! -z "$(git log --pretty=oneline origin..HEAD 2>/dev/null)" ] && M=$M'^' echo -n "$M" } #... _colesc="\[\e[" _cse="\]" _colreset="${_colesc}0m${_cse}" if [ -r "$HOME/.bash_completion.d/git" ]; then PS1="${PS1}[\$(__git_ps1 \"${_colesc};1m${_cse}%s${_colesc}31;1m${_cse}\$(__git_reminder)${_colreset})\")\w]\\$ " else PS1="${PS1}[\w]\\$ " fi #...

