วิธีใช้ Git เบื้องต้น

Git เป็นเครื่องมือควบคุมเวอร์ชั่นของไฟล์ (Source Control หรือ Version Control) ประเภทหนึ่ง ซึ่งได้รับความนิยมมากในวงการพัฒนาซอฟท์แวร์

วันนี้ผมจะสอนวิธี Setup และการใช้งาน Git เบื้องต้น

เริ่มจากบอกให้ Git รู้ก่อนว่าคุณชื่ออะไร อีเมลอะไร และตั้งค่าให้แสดงสีเพื่อให้ง่ายต่อการอ่าน

$ git config --global user.name "akkaradej"
$ git config --global user.email "email@example.com"
$ git config --global color.ui true

กำหนด Directory ที่ต้องการให้เป็นที่เก็บไฟล์ (Git Repository) โดยไปที่ Directory นั้น
และใช้คำสั่ง

$ git init

เมื่อมีการเพิ่มไฟล์ หรือ แก้ไขไฟล์ ภายใต้ Directory นี้ แล้วต้องการบันทึกการเปลี่ยนแปลง (Commit) อันดับแรกต้องบอกให้ Git รู้ก่อนว่าต้องการจะบันทึกไฟล์ไหน โดยใช้คำสั่ง

$ git add <file>

ถ้าต้องการเลือก Add ไฟล์ทั้งหมดภายใน Directory และ Sub-Directory ให้ใช้คำสั่ง

$ git add .

หรือ

$ git add --all

( –all จะรวมถึงไฟล์ที่ถูกลบด้วย )

อีกแบบที่ผมมักใช้เป็นประจำ คือการเลือก Add เฉพาะกลุ่มของ Code ที่เปลี่ยนแปลงในแต่ละไฟล์ โดยใช้คำสั่ง

$ git add -p

หลังจาก Add เสร็จแล้ว Git จะรู้ว่าเราต้องการบันทึกการเปลี่ยนแปลงของไฟล์ไหน และ ส่วนไหนของไฟล์บ้าง

ต่อไปลองเช็คสถานะไฟล์ โดยใช้คำสั่ง

$ git status

จะเห็นว่าไฟล์ที่ถูก Add แล้วจะเป็นสีเขียว ถ้ายังไม่ Add จะเป็นสีแดง
สถานะของแต่ละไฟล์ สามารถแบ่งย่อยได้ ดังนี้
– untracked new file = ไฟล์ใหม่ ยังไม่ถูก Track หรือ ไม่เคย Add เลย (??)
– new file = ไฟล์ใหม่ ที่ Add แล้ว (A)
– modified = ไฟล์เดิมมีการเปลี่ยนแปลง (M) หรือ มีการเปลี่ยนแปลงและ Add แล้ว (M)
– deleted = ไฟล์เดิมถูกลบ (D) หรือ ถูกลบและ Add แล้ว (D)

ถ้าต้องการเช็คสถานะไฟล์แบบย่อ ก็เพิ่ม -s ต่อท้าย

$ git status -s

แบบย่อนี้จะแสดงเป็นสัญลักษณ์ ?? , A , M , D ตามที่ยกตัวอย่างให้ดูด้านบน

เมื่อเช็คจนแน่ใจแล้วว่า Add ไฟล์ถูกต้อง เรามาเริ่มบันทึกเวอร์ชั่นโดยใช้คำสั่ง

$ git commit -m <"ข้อความ">
เช่น
$ git commit -m "change title of home page"

การใส่ข้อความแนบไปกับการบันทึก ช่วยให้เราหรือคนอื่นที่มาอ่านเข้าใจได้ว่าเป็น Commit เรื่องอะไร

หากต้องการลบไฟล์ สามารถทำได้ 2 วิธี

1. ลบไฟล์พร้อมกับ Add

$ git rm <file>

เมื่อเช็ค Status จะเป็น deleted (D) ที่ Add แล้ว

2. ลบจาก Directory แบบปกติก่อน

$ rm <file>

เมื่อเช็ค Status จะเห็นเป็น deleted (D) ที่ยังไม่ Add จากนั้นใช้คำสั่ง Add แบบนี้

$ git add --all <file>

เมื่อเช็ค Status อีกที คราวนี้จึงจะเห็นเป็น deleted (D) ที่ Add แล้ว

ไม่ว่าจะทำแบบวิธี 1 หรือ 2 ก็ต้อง Commit ด้วยถึงจะสมบูรณ์

เมื่อมีการ Commit เราก็อยากดูว่าเคย Commit อะไรบ้าง โดยใช้คำสั่ง

$ git log

จะเห็น Commit ID (เลขกับตัวอักษรยาวๆ) ชื่อเจ้าของ Commit วันเวลา และข้อความ แบบนี้

commit d071c863d32644b8aa33a03a3dd8e18364d59de7
Author: akkaradej <email@example.com>
Date: Thu May 29 14:58:31 2014 +0700

change title of home page

ถ้าต้องการจะ Reset กลับไปที่ Commit ที่ผ่านมา ให้ใช้คำสั่ง

$ git reset --hard <commit id>
เช่น
$ git reset --hard d071c863d32644b8aa33a03a3dd8e18364d59de7

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s