วันจันทร์ที่ 3 ตุลาคม พ.ศ. 2559

git for beginner

git เป็นเครื่องมือที่ใช้ในการทำพัฒนาซอฟต์แวร์เป็นทีม, ควบคุมเวอร์ชั่น, เก็บไฟล์ต่าง ๆ ที่โปรแกรมเมอร์ทุกคนควรรู้ วันนี้ มาใช้ git ในการเก็บ source code ที่เขียน และ ดึงมาใช้ แบบง่าย ๆ สำหรับผู้เริ่มต้น  ดังนี้
  1. สมัครสมาชิก  https://github.com/ ก่อน ถ้าสามารถใช้งานได้ฟรี (แต่ source code จะต้องเปิดเผยทั้งหมด) หรือถ้ามี email มหาวิทยาลัย สามารถใช้ education pack https://education.github.com/pack (จะสามารถตั้งเป็น private ได้) หลังจากสมัครเสร็จแล้ว ก็ให้ login เข้าไปสร้าง repository ได้
  2. ติดตั้ง program git client ในเครื่องผมใช้ตัวนี้ https://git-scm.com/download/win เวลาติดตั้งก็ next ไปเรื่อย ๆ เพียงเท่านี้ ก็พร้อมจะใช้งาน git ได้แล้ว
โดยผมจะแบ่งเป็น 3 วิธี คือใช้ผ่าน command line,  GUI (Sourcetree) และ ผ่าน Tool ของ Android Studio ดังนี้


วิธีที่ 1:  ใช้ git ผ่าน command line 

ในการนำ code ขึ้น git และ download มาที่เครื่องเรา ดังนี้
  • เข้าไป new repository ที่หน้า git 

แล้วก็ตั้งชื่อ repository มา เราจะได้ git URL มา (ในตัวอย่างนี้ ผมจะตั้งชื่อว่า laravelTest)
URL ที่ได้มาคือ https://github.com/wwarodom/laravelTest.git

Upload to GitHub
  • เปิด command prompt ไปยัง folder ที่เราต้องการจะ push ขึ้น git
  • ใช้คำสั่งตามนี้
git init 
git add .
git commit -m "first commit"
git remote add origin https://github.com/wwarodom/laravelTest.git
git push -u origin master
อธิบาย:
git init เป็นการสร้าง folder .git เพื่อเก็บค่าการทำงานต่าง ๆ ของ git 
add . เป็นการเพิ่มไฟล์ทั้งหมดที่อยู่ใน folder ปัจจุบัน รวมถึง folder ย่อย ลงใน git เพื่อเตรียม commit/upload
commit เป็นการปรับปรุงไฟล์ของเรา เข้าไปยัง local repository
remote add origin เป็นการตั้งชื่อย่อ URL เราว่า remote repository ของเรานั้น อยู่ที่ https://github.com/wwarodom/laravelTest.git  โดยอ้างอิงด้วยคำว่า origin
push -u origin master เป็นการ upload ไฟล์ที่เรา commit ใน local repository แล้ว ขึ้นไปยัง git server ใน branch master


(สามารถใช้คำสั่ง git remote -v เพื่อดูการ map ชื่อ กับ URL ที่ remote ได้)

เพียงเท่านี้ไฟล์ทั้งหมดก็ขึ้นไปอยู่ใน GitHub.com เรียบร้อยแล้ว ทดสอบโดยเปิดไปที่ https://github.com/wwarodom/laravelTest

Download from GitHub

ไปยัง folder ที่ต้องการจะ download code

git init 
git remote add origin https://github.com/wwarodom/laravelTest.git
git pull origin master

เพียงเท่านี้ ไฟล์ทั้งหมด ก็จะลงมาอยู่ใน folder ที่ต้องการ

วิธีที่ 2:  ใช้ git ผ่าน source tree (GUI)


ติดตั้งโปรแกรม source tree ให้เรียบร้อย

Upload to GitHub

เลือก Clone/New repository
เลือก Create New Repository

กด create เพื่อสร้าง local repository


เลือกไฟล์ ที่เป็น Unstaged files (ไฟล์ที่แก้ไข แต่ยังไม่ commit ลง repository) ให้กลายเป็น Staged files (เตรียม commit ใน local repository)

จากนั้นสั่ง commit เพื่อ บันทึกใน local repository เมื่อ commit แล้ว เราสามารถสั่ง push ลงใน gitHub server ได้ โดยสั่ง Push

แต่ก่อน push จำเป็นต้องไป add remote repository URL ก่อน ให้ไปสร้าง repository ใหม่ใน web github.com (เหมือนกับ Case1) เมื่อสร้างเสร็จแล้ว กลับมาที่โปรแกรม source tree ให้ กดที่ปุ่ม setting ทางซ้ายมือ

กดปุ่ม OK เราจะได้ Remote repository มา และ สามารถสั่ง Push ลง GitHub server ได้แล้ว



พอกด Push จะมี หน้าต่าง Authentication ให้ใส่ user/pass ของ gitHub


เมื่อป้อนเรียบร้อย ก็ upload code ขึ้น git server ได้เรียบร้อย

Download from GitHub

เลือก Clone/New repository
เลือก Clone Repository


ป้อน URL git ที่จะ clone มา แล้วก็ folder ปลายทางที่จะ download ไฟล์ กด Clone เป็นอันเสร็จพิธี


วิธีที่ 3: ใช้ git ผ่าน Android studio 2.2


Upload to GitHub

Android Studio 2.2 สามารถใช้ GitHub ได้อย่างสะดวกมาก เมื่อเราต้องการจะ Push Android Project ลงบน GitHub เราสามารถที่จะ Share Project โดยที่ไม่จำเป็นต้องไปสร้าง Repository บน GitHub ก่อน มีวิธีการดังนี้

  • เลือกเมนู VCS => Import into Version Control => Share Project on GitHub 
  • จะมีหน้าต่างให้ใส่ user/password ของ gitHub เมื่อ Authentication เรียบร้อย
  • ป้อนชื่อ Repository ใหม่ (ที่ไม่ซ้ำกับของเดิมที่มีอยู่แล้ว) จากนั้นกดปุ่ม Share  
  • โปรแกรมก็จะถามว่า Commit/Push อะไรบ้าง เมื่อเลือกเรียบร้อย Project ก็จะไปอยู่บน GitHub เป็นอันเสร็จพิธี
  • ตรวจสอบผลการ Upload ได้ที่ https://github.com (ตาม repository ที่ upload ไป)
  • หากมีการแก้ไขไฟล์ และจะ upload repository ให้เลือก VCS => Commit Changes....
  • จากนั้นสามารถเลือกที่ commit อย่างเดียว หรือ  commit / push ไปยัง server ได้ เป็นอันเสร็จพิธี

Download from GitHub
สำหรับการ download ก็ทำคล้ายกัน คือ
  • เลือกเมนู VCS => Checkout from Version Control => GitHub
  • ป้อน Repository URL และ folder ปลายทางที่จะคัดลอกมา

  • ระบบจะถามว่าเปิด Project นี้ ในหน้าต่างเดิม หรือ ในหน้าต่างใหม่
  • แนะนำว่าเปิดในหน้าต่างใหม่ ก็จะได้ Project ที่ Clone มาเป็นที่เรียบร้อย

อันนี้เป็นท่าเบื้องต้นเท่านั้นนะครับ จริง ๆ แล้ว GitHub ยังสามารถสร้าง Branch ไว้สำหรับ production (master), develop (dev) พัฒนา feature ใหม่ (features) และ อื่น ๆ ที่เอามา Merge รวมกันทีหลังได้ แต่เบื้องต้น เอาเท่านี้ก่อนนะครับ

ไม่มีความคิดเห็น: