How To Rename and Move Files Using Git MV Command

02-Feb-24

คัมภีร์เทพ IT

See the original english version Click here!

 

Git เป็นสิ่งที่ขาดไม่ได้ใน Workflow ประจำวันของ Software Developers มืออาชีพ และมีคำสั่งหนึ่งที่บางคนอาจไม่ค่อยคุ้นเคยคือ git mv ซึ่งจะช่วยให้คุณสามารถเปลี่ยนชื่อหรือย้ายไฟล์ใน Git Repository ของคุณได้ บทความนี้เรามาดู วิธีเปลี่ยนชื่อและย้ายไฟล์ โดยใช้คำสั่ง git mv กัน

ทำความเข้าใจกับคำสั่ง git mv

ก่อนอื่นเรามาทำความเข้าใจกันก่อนว่า git mv ทำอะไรได้บ้าง ซึ่งโดยพื้นฐานแล้ว git mv ทำหน้าที่หลัก ๆ 3 อย่างดังนี้:

  1. เปลี่ยนชื่อหรือย้าย File หรือ Directory ของคุณ
  2. ลบ File หรือ Directory เก่า ไม่ให้ถูก Track โดย Git
  3. เพิ่ม File หรือ Directory ใหม่ ที่จะถูก Track โดย Git

คุณสามารถทำสิ่งเดียวกันนี้ให้สำเร็จได้ ด้วยการย้ายหรือเปลี่ยนชื่อ File ด้วยตัวคุณเอง จากนั้นใช้คำสั่ง git add สำหรับ File ใหม่ และใช้คำสั่ง git rm สำหรับ File เก่า

อย่างไรก็ตาม git mv จะรวมการดำเนินการทั้งหมดเหล่านั้นไว้ในคำสั่งเดียว

การใช้คำสั่ง git mv เพื่อสร้าง "git move"

เรามาดูตัวอย่างการใช้ git mv กัน หากคุณต้องการเปลี่ยนชื่อ File ใน Terminal ของคุณ คุณสามารถใช้คำสั่ง git mv ได้ดังนี้:

หากต้องการย้าย File ไปยัง Directory อื่น ๆ คุณจะต้องใช้คำสั่ง git mv ในลักษณะเดียวกัน:

และเมื่อคุณ Run คำสั่ง git mv แล้ว คุณเพียงแค่ Commit Changes เหล่านั้น เพียงเท่านี้ก็เสร็จแล้ว

ทำไมเราจึงไม่สามารถย้าย File ด้วยตัวเองได้

ณ จุดนี้ คุณอาจสงสัยว่า ทำไมถึงมีคำสั่ง git mv ทำไมคุณถึงไม่สามารถย้าย File ด้วยตัวเอง แล้วใช้คำสั่ง git rm และ git add?

คำตอบคือ คุณทำได้อย่างแน่นอน แต่ความจริงก็คือ คำสั่ง git mv เป็นเพียง Shorthand ที่มีประโยชน์สำหรับกระบวนการนั้น คุณสามารถได้ผลลัพธ์แบบเดียวกันได้ด้วยคำสั่งเหล่านั้น

ตัวอย่างเช่น หากคุณต้องเปลี่ยนชื่อ mapache.txt เป็น mapache2.txt โดยไม่ใช้ git mv นี่คือสิ่งที่คุณต้องพิมพ์เพื่อให้ได้ผลลัพธ์แบบเดียวกับ git mv ด้วยตนเอง:

เมื่อเรา Run คำสั่ง git status -u เราจะได้รับการ Update Status แบบเดียวกัน ไม่ว่าเราจะ Run ทั้ง 3 คำสั่งด้านบน หรือแค่เพียง Run คำสั่ง git mv mapache.txt mapache2.txt:

นั่นคือสิ่งที่ตอกย้ำความสำคัญของการรู้วิธีใช้คำสั่ง git mv เพราะ มันเร็วกว่า และมีโอกาสน้อยที่จะทำผิดพลาดในการป้อนเพียง 1 คำสั่ง เทียบกับพิมพ์ถึง 3 คำสั่ง

Git MV และ GitHub Desktop

จะเกิดอะไรขึ้นหากคุณใช้ GitHub Desktop เหมือนที่หลาย ๆ คนใช้อยู่ เพราะบางคนก็ชอบ Interface ในรูปแบบ Graphic มากกว่า Terminal คำถามคือ มันมีคำสั่ง git mv อยู่ที่นั่นไหม

แม้ว่าจะไม่มีคำสั่ง git mv อยู่ใน GitHub Desktop อย่างชัดเจนนัก แต่คุณก็สามารถทำสิ่งเดียวกันให้สำเร็จได้ด้วยการคลิกเพียงไม่กี่ครั้ง

เมื่อคุณเปลี่ยนชื่อหรือย้าย File ใน Local Directory ของคุณแล้วโหลด GitHub Desktop จากนั้น File นั้นก็จะรับรู้ถึง Change ที่เกิดขึ้นโดยอัตโนมัติ

File เก่าจะปรากฏเป็น "Deleted" และ File ใหม่ก็จะปรากฏเป็น "Created" ใน “Changes” Tab

ภาพ Screenshot ของ “Changes” Tab ใน GitHub Desktop หลังจาก Run คำสั่ง mv mapache mapache2.txt

จากการเปรียบเทียบ หากคุณเรียกใช้คำสั่ง git mv mapache mapache2.txt แล้วโหลด GitHub Desktop จากนั้น File ก็จะปรากฏเป็น “Renamed” ใน “Changes” Tab

ภาพ Screenshot ของ “Changes” Tab ใน GitHub Desktop หลังจาก Run คำสั่ง git mv mapache mapache2.txt

สิ่งนี้ดูเหมือนจะมีพฤติกรรมที่ต่างกัน แต่ไม่ใช่ เมื่อคุณทำการ Commit ตัว GitHub Desktop ก็จะพบว่า นี่คือ File ที่ถูกเปลี่ยนชื่อและรับทราบสถานะ

ภาพ Screenshot ของ “History” ใน GitHub Desktop หลังจาก Commit Change จาก mv mapache mapache2.txt

กล่าวอีกนัยหนึ่งคือ GitHub Desktop จะเปลี่ยนคำสั่ง mv (หรือย้าย File โดยใช้ File Explorer ของคุณ) ให้เทียบเท่ากับ คำสั่ง git mv

สรุป

และนี่ก็เป็น วิธีเปลี่ยนชื่อและย้ายไฟล์ โดยใช้คำสั่ง git mv ซึ่งอาจเป็นคำสั่งเล็ก ๆ น้อย ๆ ที่ช่วยปรับปรุงกระบวนการเปลี่ยนชื่อและย้าย File ใน Git Repo ของคุณ และด้วยการใช้ git mv และ/หรือ GitHub Desktop คุณจะทำให้การจัดระเบียบ File ของคุณนั้นมีความ Clean ยิ่งขึ้น, Git History ของคุณก็ชัดเจน และทำให้ชีวิตของคุณง่ายขึ้นกว่าเดิม

ที่มา: https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด