การเปลี่ยนแปลงของซอร์สโค้ดนั้นใน repository นั้น สามารถเรียกดูได้ด้วยคำสั่ง

$ git log

รูปด้านล่างเป็นตัวอย่างแสดง log ของที่การ commit ว่าในแต่ละ commit มีรายละเอียดอย่างไรบ้าง

แต่ log ที่แสดงให้เห็นด้านบน แสดงให้เห็นรายละเอียดเพียงชื่อผู้ใช้, วันที่ และ commit massage ที่มีรายละเอียดเกี่ยวกับการแก้ไขข้อมูลในซอร์สโค้ด หากต้องการให้แสดงรายละเอียดเพิ่มเติมให้เพิ่ม option -p ต่อท้ายคำสั่ง

$ git log -p

ผลลัพธ์ที่ได้จะแสดงให้เห็นรายละเอียดของการ commit แต่ละเวอร์ชัน

จากตัวอย่างด้านบนจะเห็นว่าเมื่อใส่ option -p ต่อท้ายคำสั่ง git log จะแสดงรายละเอียดทั้งหมด ซึ่งข้อมูลมีปริมาณมาก และอ่านลำบาก

เพื่อให้เห็นภาพชัดเจนถึงความแตกต่าง ที่จะแสดงให้ในตัวอย่างถัดไป จึงขอใช้คำสั่ง git show เพื่อให้แสดงข้อมูลของไฟล์ที่จะนำมาเปรียบเทียบให้เห็นว่า เนื้อหาด้านในก่อนการ commit มีการเปลี่ยนแปลงไปอย่างไรบ้าง

สังเกตว่าเนื้อหาในไฟล์ README.txt ในภาพตัวอย่าง เวอร์ชันหนึ่งมีข้อความว่า Hello!! แต่อีกในเวอร์ชันหนึ่งข้อความดังกล่าวถูกลบออกไป ซึ่งตัวอย่างด้านล่างจะทดลองเปรียบเทียบการเปลี่ยนแปลงเพียงแค่ 2 เวอร์ชัน โดยการใช้คำสั่ง

$ git log -p -2

คำสั่งด้านบนเป็นการกำหนดให้แสดงผลรายละเอียดการ commit เพียง 2 รายการล่าสุดเท่านั้น

อีกวิธีหนึ่งสำหรับการใช้คำสั่งเพื่อเปรียบเทียบการเปลี่ยนแปลง โดยสามารถกำหนดรูปแบบของ log ที่แสดงออกมาตามรูปแบบที่เราต้องการได้ด้วยตนเอง

$ git log --pretty=format:"[OPTION]"

ในส่วนของ OPTION เราสามารถกำหนดรูปแบบของการแสดงผลได้ โดยใส่ตัวแปรต่างๆ ซึ่งสามารถดูรายละเอียดได้จากตารางด้านล่าง

%H = โค้ด Commit
%h = โค้ด Commit แบบย่อ
%T = โค้ด Tree
%t = โค้ด Tree แบบย่อ
%P = โค้ด Parent
%p = โค้ด Parent แบบย่อ
%an = ชื่อผู้เขียน
%ae   = อีเมลผู้เขียน
%ad   = วันที่ commit
%ar   = ระยะเวลา commit (เป็นเวลา)
%cn   = ชื่อผู้ commit
%ce   = อีเมลผู้ commit
%cd   = วันที่ commit
%cr   = ระยะเวลา commit (เป็นเวลา)
%s   = ชื่อหัวข้อ

ตัวอย่างด้านล่างเป็นผลลัพธ์ของการใช้คำสั่ง git log โดยกำหนดรูปแบบตามต้องการ

ที่กล่าวมาข้างต้นเป็นวิธีการตรวจดูรายละเอียดการเปลี่ยนแปลง ซึ่งอีกวิธีหนึ่งซึ่งสามารถดูความเปลี่ยนแปลงได้ โดยเป็นคำสั่งเพื่อเปรียบเทียบความแตกต่าง ซึ่งจะใช้คำสั่ง

$ git diff

ซึ่งคำสั่ง git diff สามารถกำหนด OPTION ในการเปรียบเทียบ และแสดงผลได้หลากหลาย ตัวอย่างด้านล่างเป็นรูปแบบคำสั่งหนึ่งของ git diff เพื่อเปรียบเทียบ ความแตกต่างระหว่างการ commit 2 รายการล่าสุด

เพื่อให้เห็นภาพความแตกต่างของเวอร์ชันที่จะนำมาเปรียบเทียบ จึงขอให้คำสั่ง git show เพื่อแสดงให้เห็นความแตกต่างของข้อมูลในไฟล์ READMETEMP.txt ก่อนจะใช้คำสั่งเปรียบเทียบความแตกต่างในตัวอย่างถัดไป

จะเห็นว่าข้อความในเวอร์ชันหนึ่งไม่มีข้อความ “This is temp file” แต่อีกเวอร์ชันหนึ่งมีข้อความดังกล่าวเพิ่มเข้ามา ซึ่งเมื่อใช้คำสั่ง git diff เพื่อเปรียบเทียบตามตัวอย่างด้านล่าง จะเห็นความแตกต่างของทั้ง 2 เวอร์ชัน

$ git diff HEAD^ HEAD

 

Comments are closed.