\

Facebook


วันอังคารที่ 27 สิงหาคม พ.ศ. 2556

อัพเดตโค๊ด Revisionล่าสุดมาMerge >> แล้วโค๊ดอะไรเปลี่ยนแปลงบ้าง


การใช้งาน Revision Control ในโปรเจกค์เขียนโปรแกรมที่มีขนาดใหญ่ถือว่าจำเป็นมาก เพราะเป็นเหมือนตัวช่วยให้เราทำงานแยกส่วนกับคนอื่นได้โดยอ้างอิงโค๊ดตรงกลาง ดังนั้นเมื่อใดก็ตามที่มีการแก้ไขไฟล์จะมีการเก็บ Log ส่วนที่เปลี่ยนแปลงไปกับ SVN ทำให้เราทราบ version ปัจจุบันว่ามีการปป.ไปถึงไหน และสามารถ revert กลับเพื่อกู้คืน version เดิมกรณีที่โค๊ดใหม่กระทบระบบส่วนรวม


แล้วเมื่อไฟล์เดียวกันถูกแก้ด้วย 2 คนหล่ะ
ถ้ามีการแก้ไขไฟล์พร้อมๆกัน คนที่ commit ไฟล์ขึ้นไปบน server ก่อนจะไม่ต้องกังวลเรื่องโค๊ดชนกัน แต่คนที่คอมมิตทีหลังจะต้อง Update โค๊ดตัวล่าสุดมาก่อน ซึ่งถ้าชนกันกับโค๊ดเดิม จะต้องเลือกโค๊ดอันใดอันหนึ่งก่อน Commit แต่ถ้าไม่ชนกันโค๊ดจะ Merge เข้าหากันทำมห้เราไม่ทราบว่า โค๊ดอะไรบ้างที่เปลี่ยนไปตามกาลเวลา


ถ้าใช้เต่า SVN (TortoiseSVN) และ plugin svn กับ visual Studio
บนโปรเจกของเราคลิกขวาที่ไฟล์ที่เพิ่ง update มาใหม่ >> เลือก Show Different from xxx.cs แล้ว SVN จะทำการเปรียบเทียบไฟล์ของเรากับ Version ล่าสุดว่ามีส่วนไหนที่แตกต่างกันบ้าง โดย

- สีเขียว : โค๊ดที่ฝั่งเราเพิ่มลงไป
- สีแดง : โค๊ดที่ฝั่งเค้ายังไม่มี หรือโดนลบ
โค๊ดในหน้าต่างทางซ้ายมือคือฝั่ง server ส่วนทางขวามือคือโค๊ดของเรา เพียงเท่านี้เราก็สามารถ อัพเดตโค๊ดแล้วเอามาดูความแตกต่างได้ง่ายๆ

นอกจากนี้ยังสามารถดูความแตกต่างของแต่ละ revision ได้ด้วยการ คลิกขวาที่หัว solution คลิก VisualSVN > Show Log.. เพื่อเเสดง Log ไฟล์ทั้งหมดที่ถูกคอมมิต > เลือกไฟล์เดียวกัน 2 ไฟล์ที่ต่าง revision > เลือก Compare  Revision จะปรากฎหน้าต่างซ้ายขวาเหมือนเดิม แต่คราวนี้จะเเสดงสีเหลืองที่โค๊ดที่แตกต่างกัน
ส่วนคำสั่ง Show different as unified diff จะใช้เพื่อแสดงเฉพาะโค๊ดตัวล่าสุดว่ามีการอัพเดตส่วนไหนไปบ้าง

พอใช้ SVN เเล้วการควบคุม version เป็นเรื่องง่ายไปเลย ยิ่งบน Windows มีเต่าSVN ที่ใช้งานง่ายมากๆ นึกถึงตอนเรียนที่พองานแต่ละคนเสร็จก็ก็อปใส่ Handy Drive มารวมกันแล้วแก้กันยาวมากๆ นึกแล้วตลกตัวเอง

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

May be like this posts