เพิ่มสาขา git เพื่อทุบตีพร้อม ๆ กับเสือดาวหิมะ


8

ฉันใช้สิ่งนี้:

$(__git_ps1 '(%s)')

มันใช้งานได้ แต่มันไม่อัปเดตเมื่อฉันเปลี่ยนไดเรกทอรีหรือชำระเงินสาขาใหม่ ฉันมีนามแฝงนี้ด้วย:

alias reload='. ~/.bash_profile'

วิ่งตัวอย่าง:

user@machine:~/dev/rails$cd git_folder/
user@machine:~/dev/rails/git_folder$reload
user@machine:~/dev/rails/git_folder(test)$git checkout master
Switched to branch 'master'
user@machine:~/dev/rails/git_folder(test)$reload
user@machine:~/dev/rails/git_folder(master)$

อย่างที่คุณเห็นมันถูกตั้งค่าอย่างถูกต้อง แต่ถ้าฉันโหลด bash_profile อีกครั้ง ฉันเสียเวลาไปมากกับเรื่องนี้ ฉันกำลังใช้ทุบตีเสือดาวหิมะ กรุณาช่วย!

แก้ไข: คุณสามารถเห็น dotfiles ของฉันบน github และตั้งค่าไฟล์ PS1 ที่นี่

คำตอบ:


9

แก้ไขปัญหาได้แล้ว

ฉันกำลังทำ:

export PS1="$(__git_ps1 '(%s)')"

และฉันต้องทำ:

export PS1="\$(__git_ps1 '(%s)')"

คุณต้องหลบเครื่องหมายดอลลาร์มิฉะนั้นจะถูกเรียกใช้เพียงครั้งเดียวและทดแทน


0

คุณอาจต้องใช้ $PROMPT_COMMAND


ขอบคุณ ฉันลองเล่นกับ PROMPT_COMMAND แต่ไม่ได้ทำงานกับการตั้งค่าปัจจุบันของฉัน คุณสามารถดูไฟล์ที่ทำการตั้งค่าได้ที่นี่: github.com/crayment/dotfiles/blob/master/bash/config
crayment

0

โปรดทราบว่า git ล่าสุดนั้นย้าย __git_ps1 ออกจาก bash_completion ดังนั้นคุณจึงต้องแยกแหล่งที่มานั้นแยกต่างหาก ดูhttps://superuser.com/a/477749/66255

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.