วิธี github clone มาเฉพาะบาง Folder

ถ้าต้องการเฉพาะบาง folder เช่นจากของ Google Research

https://github.com/google-research/google-research

Google Research มีหลาย Project ย่อย ถ้า Clone มาทั้งหมด ก็เยอะอยู่

แต่เราต้องการเพียงแค่ project ย่อยเดียว เช่น tft (Temporal Fusion Transformer)

วิธีการมีดังนี้

0. ต้องใช้ git version ใหม่ ๆ ในที่นี้ผมใช้ 2.32.0

# git --version
git version 2.32.0

1. จะมี sparse-checkout ซึ่งทำให้กำหนดได้ว่า ต้องการ folder ใด ให้ใช้คำสั่งแรกคือ

git sparse-checkout init

2. จากนั้น กำหนดว่า ต้องการเฉพาะ folder ชื่อ tft

git sparse-checkout set 'tft/'

3 . จากนั้นก็กำหนด remote repository ด้วยคำสั่ง

git remote add origin https://github.com/google-research/google-research

4 . แล้วก็ pull ด้วยคำสั่ง

git pull origin master

รอสักครู่ เราก็จะได้เฉพาะ folder ที่ต้องการ

หวังว่าจะเป็นประโยชน์ครับ