การใช้ Git บน Linux

ยินดีต้อนรับสู่คู่มือสำหรับผู้เริ่มต้นใช้งาน Git บน Linux! คู่มือนี้ออกแบบมาเพื่อช่วยให้คุณเริ่มต้นใช้งาน Git และ GitLab และเพื่อให้ความเข้าใจพื้นฐานเกี่ยวกับวิธีการใช้เครื่องมือเหล่านี้

ภาพรวม Git

รหัสที่ใช้ในการสร้างแอปพลิเคชันจะถูกเก็บไว้ในคอลเลกชันของโฟลเดอร์และไฟล์ในระบบของคุณ Git เป็นแอปพลิเคชันที่ช่วยให้เราสามารถสำรองข้อมูล แชร์ และคัดลอกคอลเลกชันนั้นได้ Git เป็นที่รู้จักในฐานะระบบควบคุมเวอร์ชันที่ช่วยให้คุณติดตามการเปลี่ยนแปลงโค้ดของคุณและทำงานร่วมกับผู้อื่นได้ เป็นเครื่องมืออันทรงพลังที่ใช้กันอย่างแพร่หลายในชุมชนโอเพ่นซอร์ส GitLab เป็นแพลตฟอร์มบนเว็บที่ช่วยให้คุณสามารถโฮสต์และจัดการที่เก็บ Git ของคุณทางออนไลน์ ทำให้ง่ายต่อการทำงานร่วมกับผู้อื่นและติดตามการเปลี่ยนแปลงโค้ดของคุณ

พื้นที่เก็บข้อมูลคืออะไร?

repo ย่อมาจาก repository คือโฟลเดอร์ในเครื่องที่จัดการโดย Git พร้อมด้วยสำเนาออนไลน์ repo Git Lab คือชุดของไฟล์และโฟลเดอร์ที่ประกอบกันเป็นโปรเจ็กต์ สามารถมี branches ที่เป็นสำเนาอิสระของโปรเจ็กต์เดียวกันได้ สาขาเป็นเวอร์ชันแยกต่างหากของโปรเจ็กต์ของคุณที่ให้คุณทำการเปลี่ยนแปลงได้โดยไม่ส่งผลกระทบต่อเวอร์ชันหลัก สิ่งนี้มีประโยชน์สำหรับการทดสอบฟีเจอร์ใหม่หรือแก้ไขข้อบกพร่องโดยไม่กระทบต่อโปรเจ็กต์หลัก มี repo ในเครื่องของคุณซึ่งจัดเก็บไว้ในฮาร์ดไดรฟ์ของคุณ และ repo ระยะไกลซึ่งจัดเก็บออนไลน์โดยใช้ Git และ GitLab

การใช้คอมไพล์

คุณจะต้องติดตั้ง Git บนระบบของคุณ บนระบบที่ใช้ Debian คุณสามารถใช้คำสั่ง apt เพื่อติดตั้งแพ็คเกจซอฟต์แวร์ได้ ในกรณีนี้ เราใช้มันเพื่อติดตั้ง Git ซึ่งเป็นแพ็คเกจที่ให้ระบบควบคุมเวอร์ชัน Git คำสั่ง sudo ให้สิทธิ์ผู้ติดตั้งในการติดตั้งบนระบบของคุณ

 sudo apt install git

เข้าถึง GitLab

ก่อนที่คุณจะสามารถใช้ GitLab คุณจะต้องสร้างบัญชีโดยไปที่เว็บไซต์ GitLab และทำตามขั้นตอนการลงทะเบียนให้เสร็จสิ้น

GitLab ต้องใช้ SSH สำหรับการสื่อสารที่ปลอดภัยและได้รับการรับรองความถูกต้องระหว่างไคลเอนต์ (เช่น คุณ) และเซิร์ฟเวอร์ GitLab เมื่อดำเนินการ Git เช่น cloning, pushing และ fetching repositories การโคลนกำลังสร้างสำเนา repo ในเครื่อง การดึงข้อมูลจะนำการเปลี่ยนแปลงใดๆ ที่ทำใน repo ไปยังสำเนาในเครื่องของคุณ และการพุชคือการส่งการเปลี่ยนแปลงและเนื้อหาไปยังที่เก็บเซิร์ฟเวอร์ SSH (Secure Shell) เป็นโปรโตคอลเครือข่ายที่อนุญาตการเข้าถึงระยะไกลที่ปลอดภัย และใช้ key pairs เพื่อตรวจสอบสิทธิ์และสร้างการเชื่อมต่อที่ปลอดภัย หากต้องการสร้างคู่คีย์ SSH คุณสามารถใช้คำสั่ง ssh-keygen ในเทอร์มินัลของคุณได้

 ssh-keygen

ระบุชื่อไฟล์ หรือใช้ค่าเริ่มต้นโดยการกด Enter และอาจใส่รหัสผ่านก็ได้ ในโฮมไดเร็กตอรี่ของคุณในโฟลเดอร์ที่ซ่อนอยู่ชื่อ .ssh ขณะนี้มีไฟล์ id_rsa สองไฟล์ หากคุณใช้ชื่อเริ่มต้น ไฟล์ .pub เป็นคีย์สาธารณะและคุณสามารถดูเนื้อหาได้ด้วยโปรแกรมแก้ไขข้อความ

ลงชื่อเข้าใช้บัญชี GitLab ของคุณและไปที่การตั้งค่าผู้ใช้ของคุณ คลิกที่ ‘คีย์ SSH’ ในเมนูการนำทางด้านซ้ายมือ คัดลอกและวางคีย์สาธารณะของคุณลงในฟิลด์คีย์ และตั้งชื่อคีย์ที่เกี่ยวข้อง เช่น PC@Home คลิกปุ่ม ‘เพิ่มรหัส’ เพื่อบันทึกรหัส ขณะนี้รหัสสาธารณะ SSH ของคุณถูกเพิ่มลงในบัญชี GitLab ของคุณแล้ว และคุณสามารถใช้รหัสดังกล่าวเพื่อตรวจสอบสิทธิ์กับที่เก็บ GitLab ได้ ทดสอบว่าคีย์และการเชื่อมต่อของคุณทำงานกับคำสั่ง ssh -T เพื่อดูข้อความต้อนรับจาก GitLab หรือไม่

 $ ssh -T git@ssh.gitlab.gnome.org
 Welcome to GitLab, @username!

คำสั่ง Git พื้นฐานตอนนี้ คุณได้ติดตั้ง Git และตั้งค่าคีย์ SSH ด้วย GitLab แล้ว มาดูคำสั่ง Git ที่จำเป็นสำหรับการจัดการที่เก็บข้อมูลกันดีกว่า คำสั่งเหล่านี้จะช่วยให้คุณทำงานกับโปรเจ็กต์ที่มีอยู่ ทำให้เป็นข้อมูลล่าสุดและทำการเปลี่ยนแปลงได้อย่างปลอดภัย

1. การโคลนพื้นที่เก็บข้อมูล

การโคลนเป็นกระบวนการสร้างสำเนาในเครื่องของที่เก็บระยะไกล สิ่งนี้มีประโยชน์เมื่อคุณต้องการทำงานในโปรเจ็กต์ที่มีอยู่แล้วบน GitLab หากต้องการโคลนที่เก็บ ให้ใช้คำสั่ง git clone ตามด้วย URL ของที่เก็บ:

git clone https://gitlab.com/username/repository.git

แทนที่ https://gitlab.com/username/repository.git ด้วย URL ของที่เก็บที่คุณต้องการโคลน คำสั่งนี้จะสร้างสำเนาของที่เก็บในเครื่องในไดเร็กทอรีใหม่

2. การตรวจสอบสถานะพื้นที่เก็บข้อมูล

หากต้องการดูว่าที่เก็บในเครื่องของคุณมีการเปลี่ยนแปลงใดๆ หรือดูสถานะปัจจุบันหรือไม่ ให้ใช้:

git status

คำสั่งนี้จะแสดงให้คุณเห็นว่าไฟล์ใดได้รับการแก้ไข เพิ่ม หรือลบในสำเนาของพื้นที่เก็บข้อมูลในเครื่องของคุณ

3. ที่เก็บข้อมูลระยะไกล

ที่เก็บข้อมูลระยะไกลคือเวอร์ชันของโปรเจ็กต์ของคุณที่โฮสต์ออนไลน์ เช่น บน GitLab ทำหน้าที่เป็นตำแหน่งศูนย์กลางในการจัดเก็บโค้ดของคุณและผู้อื่นสามารถเข้าถึงได้ พื้นที่เก็บข้อมูลระยะไกลเริ่มต้นที่ Git สร้างขึ้นเมื่อคุณโคลนโปรเจ็กต์เรียกว่า origin คุณสามารถเพิ่ม ลบ หรือแสดงรายการที่เก็บรีโมตได้โดยใช้คำสั่งต่อไปนี้:

  • รายการรีโมท:

    หากต้องการดูว่าที่เก็บระยะไกลใดเชื่อมโยงกับโปรเจ็กต์ในเครื่องของคุณ ให้ใช้:

    git remote -v

    คำสั่งนี้แสดงรายการรีโมตทั้งหมดและ URL โดยปกติแล้ว คุณจะเห็น origin แสดงอยู่ที่นี่

  • การเพิ่มรีโมท:

    หากคุณต้องการเพิ่มพื้นที่เก็บข้อมูลระยะไกลใหม่ คุณสามารถทำได้ด้วย:

    git remote add <name> <url>

    แทนที่ <name> ด้วยชื่อสำหรับรีโมต และแทนที่ <url> ด้วย URL ของที่เก็บ

  • การถอดรีโมท:

    หากต้องการลบที่เก็บรีโมต ให้ใช้:

    git remote remove <name>

    แทนที่ <name> ด้วยชื่อของรีโมทที่คุณต้องการลบ

4. ดึงการเปลี่ยนแปลงจากพื้นที่เก็บข้อมูลระยะไกล

หากคุณต้องการดูว่ามีการเปลี่ยนแปลงอะไรบ้างในที่เก็บระยะไกลโดยไม่ต้องนำไปใช้กับสำเนาในเครื่องของคุณ ให้ใช้:

git fetch origin

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

5. การรีเซ็ตพื้นที่เก็บข้อมูลในเครื่องของคุณ

หากคุณต้องการรีเซ็ตพื้นที่เก็บข้อมูลในเครื่องของคุณให้ตรงกับพื้นที่เก็บข้อมูลระยะไกลทุกประการ คุณสามารถใช้การรีเซ็ตแบบ ‘ฮาร์ด’ ได้ คำเตือน: การดำเนินการนี้จะเขียนทับการเปลี่ยนแปลงในเครื่องที่คุณได้ทำไว้

git reset --hard origin/branch-name

แทนที่ branch-name ด้วยชื่อสาขาที่คุณต้องการรีเซ็ต คำสั่งนี้จะละทิ้งการเปลี่ยนแปลงในเครื่อง และทำให้ที่เก็บข้อมูลในเครื่องของคุณเหมือนกับที่เก็บข้อมูลระยะไกล

6. การดูประวัติการคอมมิต

หากต้องการดูรายการการเปลี่ยนแปลงที่ทำกับที่เก็บเมื่อเวลาผ่านไป ให้ใช้:

git log

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

สรุป

คำสั่ง Git พื้นฐานเหล่านี้จะช่วยให้คุณทำงานกับที่เก็บข้อมูล คอยอัปเดตสำเนาในเครื่องของคุณให้ทันสมัย และมั่นใจได้ว่าคุณจะสามารถจัดการที่เก็บข้อมูลระยะไกลได้อย่างปลอดภัย การโคลนที่เก็บข้อมูล การตรวจสอบสถานะของสำเนาในเครื่องของคุณ และการจัดการที่เก็บข้อมูลระยะไกลเป็นทักษะสำคัญในการจัดการโปรเจ็กต์โดยใช้ Git