Git 源碼編譯安裝


Git官網(https://git-scm.com/)
淘寶鏡像網站(https://npm.taobao.org/mirrors/git-for-windows/)

下載源碼包

https://mirrors.edge.kernel.org/pub/software/scm/git/

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.27.0.tar.gz

編譯安裝,此處演示2.27.0版本。

tar xf git-2.27.0.tar.gz
cd git-2.27.0
yum install -y gcc curl-devel openssl-devel zlib-devel
yum install expat-devel gettext-devel # 這兩個應該沒有必要安裝,沒發現影響什么功能,且會依賴安裝git命令,所以最后需要卸載git,使用我們編譯的即可
./configure --prefix=/usr/local/git
make -j$(nproc) && make install

 

Git 命令補全設置

 

cd ./contrib/completion
cp git-completion.bash git-prompt.sh /etc/profile.d/
cd /etc/profile.d/ && ln -s git-completion.bash git-completion.sh

  

cat << 'EOF' > /etc/profile.d/git.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWSTASHSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWUPSTREAM="verbose git svn"
export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
EOF

定制git命令提示符

cat << 'EOF' >> /etc/bashrc
export PS1='\[\e[1;32m\][\u@\h \W \[\033[1;31m\]$(__git_ps1 "(%s)")\[\e[1;32m\]]\$ \[\e[0m\]'
EOF

 

也可以這樣子PS1='\$(__git_ps1 "(%s)")'\$PS1,提示符綠色是xshell的功能,如下,最好自定義的這些參數都寫在if里面,避免非登陸時的bash中變量多次疊加。

if shopt -q login_shell ; then
    # export TIME_STYLE='+%Y-%m-%d %H:%M:%S'
    # export PS1='\[\e[1;32m\][\u@\h \W \[\033[1;31m\]$(__git_ps1 "(%s)")\[\e[1;32m\]]\$ \[\e[0m\]'
    # export PS1='$(__git_ps1 "(%s)")[\u@\h \W]\$ '
    export PS1='$(__git_ps1 "(%s)")'$PS1
fi

 

 

 

************************************************************************************************************* 

如下,直接追加在bashrc中,導致PS1變量多次疊加。

 

 

寫在if里面,顯示效果正常。

 

 效果如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM