หากคุณเป็นผู้ใช้ Linux คุณอาจเคยใช้ Git มาก่อน บางทีในขณะที่พยายามดาวน์โหลดโปรแกรมใหม่หรือมองหาระบบควบคุมเวอร์ชัน เช่น CVS หรือ Subversion Git คือระบบควบคุมการแก้ไขที่สร้างโดย Linus Torvalds ที่มีชื่อเสียงของเคอร์เนล Linux เนื่องจากขาดความพึงพอใจกับโซลูชันที่มีอยู่ จุดเน้นหลักในการออกแบบคือความเร็วหรือโดยเฉพาะอย่างยิ่งประสิทธิภาพ Git จัดการกับข้อบกพร่องหลายประการของระบบก่อนหน้านี้และทำทุกอย่างโดยใช้เวลาน้อยกว่ามาก หากคุณต้องการเรียนรู้ Git คู่มือสำหรับผู้เริ่มต้นนี้จะช่วยคุณในการเริ่มต้น
Git ทำอะไรได้บ้าง
สมมติว่าคุณกำลังสร้างเว็บไซต์ให้กับลูกค้า พวกเขาระบุสิ่งที่พวกเขาต้องการ คุณออกแบบ พวกเขาตรวจทานและแก้ไข ฯลฯ ด้วยการแก้ไขแต่ละชุดจากลูกค้า ไซต์จะเปลี่ยนแปลงและเติบโตขึ้น ต่อมาลูกค้าอาจพูดว่า “ฉันชอบที่มันดูดีกว่าเมื่อเดือนกันยายนที่แล้ว” ภายใต้สถานการณ์ปกติ คุณมีปัญหา คุณอาจไม่มีไฟล์และข้อมูลทั้งหมดในช่วงเวลานั้น และรหัสของคุณอาจเปลี่ยนไปมากจนการย้อนกลับจะทำได้ยากหรือเป็นไปไม่ได้
ประเด็นของระบบควบคุมการแก้ไขคือการแก้ปัญหาเกือบทั้งหมดในย่อหน้าข้างต้น คุณสามารถติดตามการเปลี่ยนแปลงแต่ละรายการในโค้ดและไฟล์ของคุณ และย้อนกลับไปยังตำแหน่งเดิมได้ทุกเมื่อ
วิธีการทำงานของ Git
ไดเร็กทอรีของแต่ละโปรเจ็กต์คือที่เก็บ Git ของตัวเอง คุณเก็บไฟล์ทั้งหมดของคุณสำหรับโปรเจ็กต์นั้นไว้ในไดเร็กทอรีนั้น และบอกให้ Git อัปเดตข้อมูลเป็นระยะด้วยสถานะปัจจุบันของไฟล์ กระบวนการที่บอกให้ Git บันทึกสถานะนั้นเป็น commit
. ทุกครั้งที่คุณคอมมิต (ซึ่งควรเป็นบ่อยๆ) Git จะดูไฟล์ทั้งหมดที่ได้รับคำสั่งให้ติดตามและบันทึกความแตกต่างในไฟล์เหล่านั้น (ไม่ใช่ไฟล์ใหม่ทั้งหมด) ไปยังไดเร็กทอรี ".git" การคอมมิตแต่ละครั้งจะกลายเป็นจุดบันทึกใหม่สำหรับการพัฒนาโครงการของคุณ
หรือคุณสามารถพุชที่เก็บ git ในพื้นที่ของคุณไปยังโฮสต์ภายนอก เช่น GitHub หรือเซิร์ฟเวอร์ Git ของคุณเอง ซึ่งช่วยให้ผู้มีส่วนร่วมหลายคนในโปรเจ็กต์สามารถคอมมิตบ่อยและรวดเร็วใน repo ในพื้นที่ จากนั้นรวมกลุ่มคอมมิตในเครื่องทั้งหมดไว้ในการอัปเดตเดียวไปยังที่เก็บออนไลน์
นี่เป็นหนึ่งในสิ่งที่ทำให้ Git ใช้งานได้เร็วกว่าระบบควบคุมเวอร์ชัน (VCS) อื่นๆ:คุณสามารถคอมมิตกับที่เก็บในเครื่องของคุณบ่อยๆ โดยไม่ต้องเสียเวลาและแบนด์วิดท์ในการอัปโหลดไปยังเซิร์ฟเวอร์สำหรับแต่ละระบบ
รับ Git
Linux distros ส่วนใหญ่มาพร้อมกับ Git ที่ติดตั้งไว้ล่วงหน้า หากระบบของคุณไม่ได้มาพร้อมกับมัน คุณสามารถติดตั้งได้อย่างง่ายดายจาก Software Center หรือตัวจัดการแพ็คเกจ เนื่องจากจะพร้อมใช้งานในที่เก็บส่วนใหญ่
คุณสามารถติดตั้งในเทอร์มินัล:
# Debian/Ubuntusudo apt ติดตั้ง git-all # Fedorasudo dnf ติดตั้ง git-all
หากคุณอยู่บนแพลตฟอร์มอื่นหรือไม่สามารถใช้ที่เก็บดังกล่าวได้ คุณสามารถดาวน์โหลดและติดตั้งแพ็คเกจด้วยตนเองได้ที่นี่
การใช้ Git
ขั้นตอนการสร้างที่เก็บ git ในเครื่องนั้นรวดเร็วและง่ายดาย ขั้นแรก สร้างไดเร็กทอรีที่คุณต้องการใช้สำหรับโครงการของคุณและเปิดเทอร์มินัลของคุณไปยังตำแหน่งนั้น
cd /my-git-directory
เริ่มต้น Git repo ด้วยคำสั่ง:
git init
สิ่งนี้จะสร้างไดเร็กทอรี ".git" (ซ่อนจากมุมมอง) เพื่อเก็บข้อมูลที่เก็บของคุณ คุณน่าจะต้องการเริ่มเพิ่มไฟล์บางไฟล์ เราจะเริ่มต้นด้วยการสร้างไฟล์ README แบบง่าย เพิ่มลงในรายการไฟล์ของที่เก็บเพื่อดู จากนั้นส่งไฟล์ของเราไปยังที่เก็บ
#Insert some text into a new fileecho "TODO:Create document"> README.txt #Now บอก Git ให้ติดตามการเปลี่ยนแปลงของไฟล์นี้# ต้องทำเพียงครั้งเดียวต่อไฟล์ (มากกว่านั้น#อีกสักครู่ )git เพิ่ม README.txt # และตอนนี้บันทึกสถานะไปยังที่เก็บ Git คอมมิท README.txt
คุณจะถูกนำไปที่หน้าจอโปรแกรมแก้ไขข้อความ (แน่นอนว่าโปรแกรมแก้ไขข้อความใดขึ้นอยู่กับ distro และการกำหนดค่าของคุณ) ซึ่งคุณควรป้อนหมายเหตุเกี่ยวกับการคอมมิตนี้ สิ่งเหล่านี้มักจะเป็นการสรุปโดยย่อของการเปลี่ยนแปลงที่เกิดขึ้นตั้งแต่การคอมมิตครั้งล่าสุด เมื่อคุณบันทึกและออกจากเท็กซ์เอดิเตอร์ การคอมมิตควรจะเสร็จสมบูรณ์
หากในระหว่างข้างต้น Git เกิดข้อผิดพลาดโดยบอกว่าไม่รู้จักคุณ คุณจะต้องบอกว่าคุณเป็นใคร ทำได้ง่ายๆเพียงแค่ป้อน:
git config --global user.name "Your_Username"git config --global user.email "[email protected]"
โดยพื้นฐานแล้วเราได้สร้างสแน็ปช็อตของสถานะปัจจุบันของไฟล์นั้น การเปลี่ยนแปลงใดๆ เพิ่มเติม (ที่คุณกระทำ) จะถูกบันทึกไว้นอกเหนือจากนั้น
การเพิ่มและคอมมิตแต่ละไฟล์ทีละไฟล์ เช่นในตัวอย่างด้านบน อาจทำให้น่าเบื่อ เพื่อแก้ไข คุณสามารถเพิ่มไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันด้วย
#Note ต่อท้าย "."git เพิ่ม .
คุณสามารถคอมมิตไฟล์ที่เปลี่ยนแปลงทั้งหมดได้พร้อมกันด้วย
git คอมมิท -a
ตัวเลือกคำสั่ง git ที่มีประโยชน์อื่นๆ ได้แก่:
#สร้างโคลนแบบเต็มของที่เก็บที่มีอยู่ เช่น จากเว็บไซต์ของซอฟต์แวร์ projectgit clone (URL เช่น git://github.com/github/linux-2.6.git) #Move/rename a file สิ่งนี้ช่วยให้คุณไม่ต้องลบและเพิ่มไฟล์ใหม่ #ถ้ามันถูกย้ายโดย bashgit mv (ต้นทาง) (ปลายทาง) #ลบไฟล์และลบออกจาก Git repogit rm (เป้าหมาย) #ดูสาขาในที่เก็บสาขานี้ #สร้าง สาขาใหม่ของสาขา Git treegit (ชื่อสาขาใหม่ เช่น "ทดลอง") #สลับจากสาขาหนึ่งเป็นสาขาชำระเงินอื่น (ชื่อสาขาคือ "ทดลอง") #รวมสาขา (สาขา) เป็นการผสานรวม treegit ปัจจุบัน (สาขา)ก่อน>แน่นอนว่านั่นเป็นเพียงจุดเริ่มต้นของสิ่งที่ Git สามารถทำได้ เมื่อคุณเชี่ยวชาญ GIt แล้ว คุณสามารถเริ่มต้นใช้งาน Github และเรียนรู้วิธีเพิ่มภาพหน้าจอและแอนิเมชั่นไปยังคำขอดึงของคุณ