หมวดหมู่: GIT

GIT: find branch in all sub folderGIT: find branch in all sub folder

ตัวนี้เป็น shell script ไว้ branch ใน sub folder เพราะว่า Workspace เดียวกันมีแบ่ง folder ย่อย ๆ จะมาหาว่า jira รหัสนี้มันอยู่ที่ไหนบ้างก็เสียเวลาไล่ ../, cd ไป ๆ มา ๆ เลยทำตัวค้นหาให้มัน search ให้ไปเลยจะได้จบ ๆ

  1. ไปที่ Workspace ที่เก็บ git folder ไว้ เช่น
    cd /Users/Shared/Gits/phunsanit
  2. สร้างไฟล์
    touch git-find_branch-all.sh
  3. ให้สิทธิ์
    chmod +x git-find_branch-all.sh
  4. เปิดไฟล์มาแก้
    nano git-find_branch-all.sh
  5. แล้วใส่เนื้อหาตามตัวอย่าง
#!/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

อ่านเพิ่มเติม