Git ไม่มีฟีเจอร์รองรับการสร้างโฟลเดอร์ว่างเปล่า ในการสร้างโฟลเดอร์ใน Git คุณต้อง commit โฟลเดอร์ที่มีไฟล์อย่างน้อย 1 ไฟล์ แม้จะเป็นไฟล์ hidden ก็ตาม
ในคู่มือนี้ เราจะอธิบายวิธีสร้างโฟลเดอร์บน GitHub จะเดินทางผ่านตัวอย่างการสร้างโฟลเดอร์จาก Git Command Line และให้คำแนะนำการสร้างโฟลเดอร์จาก GitHub Web Interface
สร้างโฟลเดอร์ใน GitHub: จาก Git Command Line
เราจะเริ่มทำงานอัปเดตโปรเจกต์ชื่อ ck-git เรามี Git Repository สำหรับโปรเจกต์นี้แล้ว ก่อนเริ่มเขียนโค้ดอัปเดต เราจะสร้างโครงสร้าง Directory สำหรับโค้ดก่อน
GitHub Repository ของเราตอนนี้ยังไม่มีโฟลเดอร์เลย:
เราต้องการสร้างโฟลเดอร์ชื่อ docs และ dev โดยใช้คำสั่ง mkdir:
mkdir docs dev
คำสั่งนี้สร้าง Directory ทั้งสอง แต่ถ้าเรา add โฟลเดอร์เหล่านี้เข้า commit และ push การเปลี่ยนแปลง โฟลเดอร์จะไม่แสดงบน GitHub เนื่องจาก GitHub ไม่แสดง Empty Folders
เพื่อสร้างโฟลเดอร์ใหม่ เราต้องเพิ่มเนื้อหาเข้าไปในโฟลเดอร์ เนื่องจากเรากำลัง Initialize โปรเจกต์ เราสามารถเพิ่มไฟล์ว่างเปล่าบางไฟล์เข้าไป
ไฟล์ว่างเหล่านี้จะช่วยให้เราสร้างโฟลเดอร์ได้โดยไม่ต้องเริ่มเขียนโค้ดอัปเดตก่อนที่จะสร้างโครงสร้าง Directory และ upload ขึ้น Git
ลองสร้างไฟล์ว่าง 2 ไฟล์เพื่อเติมโฟลเดอร์ใหม่:
touch docs/.gitkeep touch dev/.gitkeep
เราสร้างไฟล์ชื่อ .gitkeep 2 ไฟล์ โฟลเดอร์ใหม่ทั้งสองตอนนี้มีไฟล์อยู่ 1 ไฟล์ต่อโฟลเดอร์ ชื่อไฟล์ .gitkeep มักใช้สร้างโฟลเดอร์ว่าง แต่ไม่มีข้อกำหนดว่าต้องใช้ชื่อนี้เท่านั้น
ตอนที่ไฟล์มีอยู่แล้ว เราสามารถ track โฟลเดอร์ที่ว่างเปล่าเหล่านี้ และ commit โค้ดได้:
git add * git commit -m "feat: Create directory structure" git push
คำสั่ง git add เพิ่มไฟล์เข้า Staging Area git commit สร้าง commit พร้อมการเปลี่ยนแปลง git push ส่งการเปลี่ยนแปลงไป Remote Repository ที่โฮสต์บน GitHub
ลองดูผลลัพธ์เมื่อรันคำสั่งเหล่านี้:
[master f10ed95] feat: Create directory structure 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dev/app.py create mode 100644 docs/Start_Here.md ...
โค้ดทำงานสำเร็จ ตอนนี้เรามีโฟลเดอร์ใหม่ 2 โฟลเดอร์ใน GitHub Project: dev และ docs สามารถตรวจสอบได้โดยเข้า GitHub Dashboard ของโปรเจกต์
แต่ละโฟลเดอร์มีไฟล์ 1 ไฟล์ ตอนที่เรากำหนดโครงสร้าง Directory แล้ว เราก็สามารถทำงานต่อบนโปรเจกต์ได้อย่างอิสระ
ไม่จำเป็นต้อง upload โฟลเดอร์ว่างก่อนทำงานเสมอไป หากจำเป็นต้องทำ (เช่น ต้องแสดงโครงสร้างใหม่ให้เพื่อนร่วมทีมเห็น) ขั้นตอนเหล่านี้คือวิธีที่ควรทำถ้าต้องการเพิ่มโฟลเดอร์จาก Git
สร้างโฟลเดอร์ใน GitHub: จาก Web Dashboard
ไม่มีฟีเจอร์ UI สำหรับสร้างโฟลเดอร์ว่างใน GitHub ในการสร้างโฟลเดอร์ใหม่ คุณต้องสร้างไฟล์ใหม่และระบุ Directory ที่ไฟล์ควรอยู่
กล่าวคือ คุณสามารถสร้างโฟลเดอร์ได้ก็ต่อเมื่อสร้างไฟล์แล้ว
เราต้องการเพิ่ม Directory อีก 1 ตัวชื่อ "assets" เริ่มต้นด้วยการเข้า Repository และกดปุ่ม "New file"
ในช่องข้อความบนสุด เราจะสร้างไฟล์ชื่อ "assets/.gitkeep":
นี่จะสร้างโฟลเดอร์ชื่อ assets และไฟล์ .gitkeep ภายในโฟลเดอร์นั้น Git จะแสดง Path ใหม่โดยอัตโนมัติเมื่อคุณพิมพ์ /
คุณสามารถเพิ่มข้อความหรือโค้ดลงในไฟล์ที่สร้างได้อีกด้วย " .gitkeep " เป็นแค่ Placeholder File Name คุณสามารถตั้งชื่อไฟล์อะไรก็ได้
ต่อไป กด Commit new file จะเพิ่มไฟล์ใหม่เข้า Repository หากกลับไปที่ Main Folder จะเห็นโฟลเดอร์และไฟล์ใหม่ถูกสร้างขึ้นแล้ว
ตอนนี้เราสร้างโฟลเดอร์ใน GitHub สำเร็จแล้ว
สรุป
GitHub ไม่อนุญาตให้เพิ่มโฟลเดอร์ว่างเข้า Git Repository โฟลเดอร์ต้องมีไฟล์ก่อนจึงจะเพิ่มเข้า Repository ได้ หากต้องการสร้างโฟลเดอร์ใหม่ ให้สร้างโฟลเดอร์ก่อน แล้วเพิ่ม Placeholder File เข้าไปในโฟลเดอร์นั้น จากนั้น add โฟลเดอร์และไฟล์ใหม่เข้า Git Repo
ตอนนี้คุณมีเครื่องมือครบครันสำหรับสร้างโฟลเดอร์ใน GitHub แล้ว!