Git/Interoperation
This page or section is an undeveloped draft or outline. You can help to develop the work, or you can ask for assistance in the project room. |
This chapter is about inter-operation between Git and other systems.
Git is a great version control system, but it is not the only one. Many projects still use version control systems that predate git or alternate DSCMs. Thankfully, you can still use git to participate in many of these projects, thanks to programs like git-svn, git-cvsimport, etc.
You can also work with Git directly within many text editors, IDEs and other tools.
Customizing your command line prompt
editThis Bash customization script will modify your command line prompt to include some extra details whenever you're in a Git directory. It is based on Mike Stewart's work.[1]
The current branch name is shown in red (if it's got outstanding changes) or green (if there are no changes), followed by the current path. The hostname is also shown in a low-lighted colour at the beginning.
Color_Off="\[\033[0m\]" # Text Reset
IBlack="\[\033[0;90m\]" # High-intensity black
Green="\[\033[0;32m\]" # Green
Yellow="\[\033[0;33m\]" # Yellow
Red="\[\033[0;91m\]" # Red
Hostname="\h" # Hostname (up to the first dot)
PathShort="\w" # Current working directory (short version)
export PS1=$IBlack$Hostname$Color_Off'$(git branch &>/dev/null;\
if [ $? -eq 0 ]; then \
echo "$(echo `git status` | grep "nothing \(added \)\?to commit" > /dev/null 2>&1; \
if [ "$?" -eq "0" ]; then \
# Clean repository - nothing to commit
echo "'$Green'"$(__git_ps1 " (%s)"); \
else \
# Changes to working tree
echo "'$Red'"$(__git_ps1 " {%s}"); \
fi) '$BYellow$PathShort$Color_Off'\$ "; \
else \
# Prompt when not in GIT repo
echo " '$Yellow$PathShort$Color_Off'\$ "; \
fi)'
References
edit- ↑ Stewart, Mike, Ultimate GIT PS1 bash prompt