গিট ১.৯.৩ বা তার পরে: ব্যবহার করুন __git_ps1
গিট একটি শেল স্ক্রিপ্ট সরবরাহ করে git-prompt.sh
যা একটি ফাংশন অন্তর্ভুক্ত __git_ps1
করে
ব্যাশ PS1 প্রম্পটে যোগ করার জন্য পাঠ্য মুদ্রণ করে (শাখার নাম অন্তর্ভুক্ত)
এর সর্বাধিক প্রাথমিক ব্যবহার হ'ল:
$ __git_ps1
(master)
এটি একটি alচ্ছিক বিন্যাসের স্ট্রিংও গ্রহণ করে:
$ __git_ps1 'git:[%s]'
git:[master]
এটি কিভাবে পাবেন
প্রথমে ফাইলটি কোথাও অনুলিপি করুন (যেমন ~/.git-prompt.sh
)।
বিকল্প 1: আপনার ফাইল সিস্টেমে একটি বিদ্যমান অনুলিপি ব্যবহার করুন। উদাহরণ (ম্যাক ওএস এক্স 10.15):
$ find / -name 'git-prompt.sh' -type f -print -quit 2>/dev/null
/Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh
বিকল্প 2: গিটহাব থেকে স্ক্রিপ্টটি টানুন ।
এরপরে, আপনার নিচের লাইনটি যুক্ত করুন .bashrc/.zshrc
:
source ~/.git-prompt.sh
শেষ অবধি, কমান্ড-প্রতিস্থাপন হিসাবে আপনার PS1
কল করতে পরিবর্তন করুন __git_ps1
:
ব্যাশ:
PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
Zsh:
setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '
গিট <1.9.3
তবে মনে রাখবেন যে কেবল 1.9.3 গিট (মে 2014) বা তার পরে আপনাকে সেই শাখার নামটি নিরাপদে প্রদর্শন করতে দেয় (!)
রিচার্ড হ্যানসেন দ্বারা 8976500 প্রতিশ্রুতি দেখুন ( richardhansen
) :
বাশ এবং zsh উভয়ই PS1 এর মানকে প্যারামিটার সম্প্রসারণ , কমান্ড প্রতিস্থাপন এবং গাণিতিক সম্প্রসারণের বিষয় বিবেচনা করে।
PS1
দুটি বা তিন-যুক্তি মোডে চলার সময় কাঁচা, অনির্বাচিত শাখার নাম অন্তর্ভুক্ত করার পরিবর্তে শাখার নাম PS1
ধারণ করে একটি ভেরিয়েবল রেফারেন্স করুন ruct
শেলগুলি পুনরাবৃত্তভাবে প্রসারিত না হওয়ার কারণে এটি বিশেষতঃ তৈরি করা শাখার নামগুলি দ্বারা স্বেচ্ছাসেবীর কোড প্রয়োগ কার্যকর করে না
'$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)'.
কী মনগড়া মন এমন একটি শাখার নাম রাখবে? ;) ( এক্স কেসিডির মতো একজন মায়ের পাশে )
আরও উদাহরণ
স্থির_ড্রিমিং_উ মন্তব্যগুলিতে রিপোর্ট করেছে :
আপনি xterm
(আমার মধ্যে .bashrc
) সাথে রঙিন প্রম্পট চাইলে এটি দুর্দান্ত কাজ করবে বলে মনে হচ্ছে :
PS1='\[\e]0;\u@\h: \w\a\]\n${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ '
শাখা সহ সবকিছুই আলাদা রঙ।
লিনাক্স মিন্টে 17.3 দারুচিনি 64-বিট:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w\[\033[00m\]$(__git_ps1) \$ '