วิธีตั้งค่า Bash ให้แสดง Git branch

ทำไมต้องแสดง Git branch ใน Bash ?

สำหรับคนที่ใช้งาน Git ผ่าน command-line อยู่เป็นประจำ และต้องสลับ branch ไปมาบ่อยๆ หากเราจะเช็คว่าตอนนี้เราทำงานอยู่ใน branch ไหน ก็คงหนีไม่พ้นที่จะต้องพิมพ์คำสั่ง git branch อยู่บ่อยๆ แต่หากเราตั้งค่า Bash prompt ให้แสดง Git branch อยู่ตลอดเวลา ก็จะช่วยเราลดขั้นตอนในการตรวจเช็ค branch ไปได้มาก

การตั้งค่า

การตั้งค่าต่อไปนี้ จะเป็นตัวอย่างการตั้งค่าบน Ubuntu 20.04 LTS นะครับ ส่วน distro อื่นๆ อาจจะมีจุดที่แตกต่างกันบ้างเล็กน้อยครับ

1. เปิดไฟล์ ~/.bashrc ด้วย text editor ตัวไหนก็ได้ตามแต่สะดวก เช่น gedit ~/.bashrc

2. ค้นหาบรรทัดที่มีคำว่า PS1 เราจะเจอโค้ดตามรูปด้านล่าง

3. จุดที่ 1 บรรทัดก่อน if [ "$color_prompt" = yes ]; then เราจะเพิ่ม export GIT_PS1_SHOWDIRTYSTATE=1 เข้าไปเพื่อให้แสดง Bash prompt แสดง Git dirty state

4. จุดที่ 2 และ 3 เราจะแทรก $(__git_ps1 "(%s)") เข้าไปที่ท้ายบรรทัดของตัวแปร PS1 ทั้ง 2 บรรทัด โดยตำแหน่งที่จะแทรกเข้าไปคือก่อน \$ ' ตามรูปครับ

5. บันทึกการแก้ไข ~./bashrc จากนั้นเมื่อคุณเข้าใช้งาน Bash และเปลี่ยนไป working directory ของคุณไปที่ Git repo ก็จะมีการแสดง Git branch ที่ Bash prompt ของคุณตามรูปด้านล่างครับ

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีทำให้ Bash Prompt บน Ubuntu มีสี

ระบบปฏิบัติการ Ubuntu เลือกใช้ bash shell เป็น shell หลัก ซึ่งไม่ว่าคุณจะใช้ command-line จาก terminal, TTY หรือ SSH ก็ตามแต่ bash shell ก็จะถูกเรียกขึ้นมาให้เราใช้งานโดยอัตโนมัติ

ซึ่งค่าเริ่มต้นของ bash shell ใน Ubuntu ตรงส่วนที่เรียกว่า prompt จะไม่มีสี ซึ่งมีเหตุผลเขียนอธิบายไว้ในไฟล์ .bashrc และแปลเป็นไทยได้ว่า “ที่ทำให้ prompt ไม่มีสีเป็นค่าเริ่มต้น เพราะไม่อยากให้สี prompt ไปรบกวนสายตาผู้ใช้ และอยากให้สายตาผู้ใช้โฟกัสไปที่ การเขียนคำสั่ง และผลลัพธ์”

แต่สำหรับผม ผมก็ชอบแบบที่มีสีมากกว่า เพราะว่าเวลามีสี สีจะช่วยให้เราสามารถแยกบรรทัดที่เราพิมพ์คำสั่ง กับบรรทัดที่แสดงผลลัพธ์ได้ชัดเจน และยังช่วยให้มองเห็นรายละเอียดต่างๆ บน prompt ได้ชัดเจน เช่น username, hostname หรือ working directory เป็นต้น

วิธีตั้งค่า

วิธีตั้งค่า prompt ของ bash shell ให้มีสี ทำได้ไม่ยาก แค่เปิดไฟล์ .bashrc ที่อยู่ใน home directory ของเราด้วย text editor ตัวใดก็ได้ (ถ้ามองหาไฟล์ผ่านโปรแกรมดูไฟล์ จะมองไม่เห็นไฟล์นี้ เพราะไฟล์ถูกซ่อนอยู่ ต้องกดปุ่มลัด Ctrl+H เพื่อแสดงรายการไฟล์ที่ซ่อนอยู่เสียก่อนครับ) เลื่อนหาบรรทัดที่เขียนว่า #force_color_prompt=yes แล้วลบเครื่องหมาย # ออก จากนั้นก็บันทึกไฟล์ แล้วปิด/เปิด terminal, TTY หรือ SSH ใหม่ก็จะได้ prompt ที่มีสีให้ใช้งานแล้วครับ

อีกทางเลือกที่ง่ายกว่าคือ พิมพ์คำสั่งต่อไปนี้ลงไปบน terminal ได้เลยครับ จากนั้นก็ปิด/เปิด terminal, TTY หรือ SSH ใหม่เช่นกันครับ

คำสั่งสำหรับแสดงสี prompt ให้ user ทั่วไป

คำสั่งสำหรับแสดงสี prompt ให้ root user


ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน