Bash提示符中的Git和SVN状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bash提示符中的Git和SVN状态相关的知识,希望对你有一定的参考价值。

Put this into your ~/.bashrc script and you should see the Git/SVN status in your prompt if your working directory is a sandbox.
  1. # Prompt setup, with SCM status
  2. parse_git_branch() {
  3. local DIRTY STATUS
  4. STATUS=$(git status 2>/dev/null)
  5. [ $? -eq 1 ] || return
  6. [[ "$STATUS" == *'working directory clean'* ]] || DIRTY=' *'
  7. echo "($(git branch 2>/dev/null | sed -e '/^[^*]/d' -e 's/* //')$DIRTY)"
  8. }
  9.  
  10. parse_svn_revision() {
  11. local DIRTY REV=$(svn info 2>/dev/null | grep Revision | sed -e 's/Revision: //')
  12. [ "$REV" ] || return
  13. [ "$(svn st)" ] && DIRTY=' *'
  14. echo "(r$REV$DIRTY)"
  15. }
  16.  
  17. PS1='[email protected]h:W$(parse_git_branch)$(parse_svn_revision) $ '
  18.  
  19. # alternative version of parse_svn_revision()
  20. parse_svn_revision() {
  21. local REV=$(svnversion 2>/dev/null)
  22. [ $? -eq 0 ] || return
  23. [ "$REV" == 'exported' ] && return
  24. echo "($REV)"
  25. }

以上是关于Bash提示符中的Git和SVN状态的主要内容,如果未能解决你的问题,请参考以下文章

sh 根据活动的pyenv,git branch和last命令的返回状态设置颜色bash提示符。

定制性感Bash提示-Git分支/状态

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

Mac终端git,svn提交代码步骤

在本地进行shell脚本中执行svn命令,为啥提示bash: svn: command not found?

sh Git片段#tags:bash