ฉันพยายามเปลี่ยน promt command ใน terminal ฉันได้รับข้อผิดพลาด:
-bash: __git_ps1: command not found
__git_ps1
ฉันได้พยายามมันเพียงแค่พิมพ์ลงในสถานีเป็น: ฉันยังลองใน.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
ในขณะที่คุณสามารถดู / บอกใช่ฉันมีการติดตั้งการเติมข้อความอัตโนมัติและมันใช้งานได้ดีมาก!
ฉันเจอคำถามนี้: " ตัวแปร env PS1 ไม่ทำงานบน mac " ซึ่งให้รหัส
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
ดังนั้นฉันจึงเพิ่มมันเข้าไปในความ.bash_profile
หวังของฉันว่ามันจะเปลี่ยนอะไรบางอย่าง มันก็เป็นเช่นนั้น มันเพิ่งเปลี่ยนเอาต์พุตข้อผิดพลาด
นี่คือการเพิ่ม.bash_profile
ด้วย:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
และนี่คือผลลัพธ์ข้อผิดพลาดที่เปลี่ยนแปลง:
sed: (%s): No such file or directory
หมายเหตุ:ฉันได้ย้ายนามแฝงด้านล่างแหล่งที่มาด้วยไม่มีความแตกต่าง ฉันมีคอมไพล์รุ่น 1.7.12.1
นี่ควรเป็นการเปลี่ยนแปลงที่ง่าย มีใครช่วยได้บ้าง
แก้ไข 10/13/12
ไม่ฉันไม่ต้องการกำหนด __git_ps1 อย่างแน่นอน แต่พยายามที่จะดูว่ามันจะได้รับการยอมรับหรือไม่ ใช่ฉัน.git-completion.bash
ติดตั้งไฟล์แล้ว นี่คือวิธีที่ฉันได้รับความสมบูรณ์แบบอัตโนมัติในเครื่องของฉัน
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
ls -la
แล้วแสดง.git-completion.bash
ไฟล์
แก้ไข 10/13/12 - แก้ไขโดยMark Longair (ด้านล่าง)
รหัสต่อไปนี้ทำงานให้ฉันใน.bash_profile
ขณะที่คนอื่นไม่ได้ ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>
ตามที่ระบุไว้ในการกระทำที่อ้างอิงโดย Mark Longair
git-completion.bash
นิยาม__git_ps1
เป็นฟังก์ชันเชลล์ เป็นของคุณหรือไม่ คุณรู้ได้อย่างไรว่าการทำงานเสร็จสมบูรณ์นั้นเป็นอย่างไร จะเกิดอะไรขึ้นเมื่อคุณพิมพ์git h
<TAB>