วันพุธที่ 6 กันยายน พ.ศ. 2560

Basic Git part 5

Source Tree

มี tool ตัวหนึ่งที่ทำงานเก่าใช้ แล้วซีเนียร์หยับเอา interface ของมัน (UI) มาวาดเป็นภาพการเก็บ snapshot ของ git ให้ดู คือเป็นปมๆมีสีสวยๆ มันมีอยู่หลายตัวให้เลือกใช้นะ แต่ตอนนั้นเขาใช้ source-tree กัน

ผมก็ไปดาวน์มาแล้ว ติดตั้งและลงทะเบียนเรียบร้อย

ในระหว่างที่ไฟล์ index.html นี้เกิดการแก้ไข คืออยู่ในสถานะ modified ผมจะลองใช้ sourcetree มาดูหน่อยว่า UI เป็นอย่างไร



อ่อลืม source-tree ดาวน์โหลดจากไหน ตรงนี้ฮะ
https://www.sourcetreeapp.com/

ในรูปมันรู้ด้วยว่าไฟล์ปัจจุบัน (index.html) ถูกแก้ไข โดยมีเครื่องหมาย + เพิ่มเข้ามาบอกว่าบรรทัดนี้เพิ่มขึ้นนะ

ดูสิ เรามากดตรง master (branches) เราจะพบปมหนึ่งปมที่ได้ commit เอาไว้แล้ว (ตอนเพิ่มมันลงถังไง)


กลับมาที่ภาพนี้อีกครั้ง


เราอยู่ตรงจุดแดงๆนั่น ซึ่งเราจะต้องบอกกับ git ว่าเฮ้เธอเอาไฟล์นี้ไปสร้าง snapshot ได้เลยนะ จะได้ขึ้น version ถัดไป ก็คือการบอก git ว่าทำเครื่องหมายจาก modified เป็น staged นั่นเอง

ใช้คำสั่งอะไร?

https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository


ไฟล์นี้ถูก tracked แล้วถูกต้อง ไฟล์นี้ถูกนำมา modifired ถูกต้อง ดังนั้นหากจะ stage มันก็ต้องใช้ git add อีกรอบ (ใช้เหมือนตอนจะ track เลย ที่ให้รู้จักกันใหม่ๆอะ)

git add *.html

จากนั้นตรวจสอบสถานะ

git status


ตอนนี้มันถูก stated เรียบร้อย (มี snapshot) พร้อมสำหรับจะ commit

git commit -m "add proSbeginner content"


กลับไปดูที่ source-tree เห็นอะไรไหม ปมเพิ่มขึ้นมาหนึ่งปมไง! (ด้านบน เพราะเรียงแบบ date order)


และพอกลับไปที่ working copy (sourcetree) เราจะพบว่าไฟล์ที่เคยรอการ stage นั้นหายไปแล้ว


เดี๋ยวพอทำไปทำมา ก็จะมีภาพของปมเป็นแบบนี้ก็ได้นะ


เมื่อเพื่อนๆทำสำเร็จขั้นตอน commit ในแต่ละครั้ง เพื่อนๆควรทราบว่าสถานะของไฟล์ทั้งหมดจะกลายเป็น ไฟล์ที่ไม่ถูกแก้ไข เรียกว่าสถานะ unmodified อยู่ ณ สถานที่ (local) git repository ตามรูปด้านล่าง


สรุปก่อน วันนี้เรา focus ไปที่ local git repository นะครับ คือมีถังใบเดียว เรื่อง git clone ตัดทิ้งไปก่อน เพราะมันให้ความคิดการทำสำเนา repository ซึ่งเจ้า repository ที่ถูกทำสำเนานั้นจะกลายเป็น global repository หรือ share repository ไป ซึ่งเพือนๆจะเห็นเป็นภาพถังหลายใบ ไว้ค่อยคุยกันทีหลัง

บายๆ

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

แสดงความคิดเห็น