ตัวนี้เป็น shell script ไว้ branch ใน sub folder เพราะว่า Workspace เดียวกันมีแบ่ง folder ย่อย ๆ จะมาหาว่า jira รหัสนี้มันอยู่ที่ไหนบ้างก็เสียเวลาไล่ ../, cd ไป ๆ มา ๆ เลยทำตัวค้นหาให้มัน search ให้ไปเลยจะได้จบ ๆ
- ไปที่ Workspace ที่เก็บ git folder ไว้ เช่น
cd /Users/Shared/Gits/phunsanit - สร้างไฟล์
touchgit-find_branch-all.sh - ให้สิทธิ์
chmod +x git-find_branch-all.sh - เปิดไฟล์มาแก้
nano git-find_branch-all.sh - แล้วใส่เนื้อหาตามตัวอย่าง
#!/bin/bash # รับค่า Keyword จาก Argument
SEARCH_TERM=$1 if [ -z "$SEARCH_TERM" ]; then echo "Usage: $0 <branch_keyword>" exit 1
fi echo "Searching for branches containing: '$SEARCH_TERM'" for dir in */; do # ตรวจสอบว่าเป็น Git Repo หรือไม่ if [ -d "$dir/.git" ]; then echo "------------------------------------------" echo "Folder: $dir" (cd "$dir" || exit # อัปเดตข้อมูลจาก remote git fetch --all --prune > /dev/null 2>&1 # ค้นหาทั้ง Local และ Remote (-a) และไม่สนตัวพิมพ์เล็กใหญ่ (grep -i) MATCHES=$ (git branch -a | grep -i "$SEARCH_TERM" | sed 's/^[[:space:]]*//') if [ -z "$MATCHES" ]; then echo "Result: Not found." else echo "Found:" # แสดงผลแบบสีเขียวเพื่อให้สังเกตง่าย echo -e "\033[0;32m$MATCHES\033[0m" fi) fi
done echo "------------------------------------------"
echo "Search complete."
ใช้โดยการเรียก ชื่อไฟล์ ตามด้วยคำที่ต้องการค้นหา เช่น./git-find_branch-all.sh pitt
อ่านเพิ่มเติม