Version Control System

#HelloInfra #HelloErmine #HelloWorld2021

Version Control System คือ?

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

Version Control Tools

GIT

Git เป็น Distributed Version Control System ตัวหนึ่งที่ได้รับความนิยมอย่างมากในหมู่ Developer เริ่มพัฒนาโดย Linus Torvalds ด้วยภาษา C, Shell Script, Perl, Tcl และ Python

CVS

CVS ถูกพัฒนาโดย The CVS team ในปี 1986 และได้เปลี่ยนมาพัฒนาโดยใช้ภาษา C ในปี 1990 ซึ่งเป็น Version Control System ประเภท Centralized

SVN

SVN เป็น Version Control ประเภท Centralized Version Control System ภายใต้การพัฒนาของทีม Apache Software Foundation โดยใช้ ภาษา C ในการพัฒนา

Git คืออะไร?

Git คือ version control Software ที่ช่วยบันทึกการเปลี่ยนแปลงของ files โดยดูจากการเปลี่ยนแปลงข้อมูลหรือcode

ทำไมต้องใช้ GIT ?

Track version ของ Source Code ย้อนกลับได้

เมื่อจัดเก็บไฟล์ลงใน Git จะเรียกว่า Git Repository ซึ่งสามารถสำรองข้อมูล การเปลี่ยนของ Code ทำให้สามารถย้อนกลับไปเวอร์ชันใดๆ ก่อนหน้าได้ ซึ่งสามารถดูได้ว่าใครเป็นคนแก้ไข

Repository

Repository คือ ที่เก็บข้อมูลการเปลี่ยนแปลง และ version (snapshot) ต่าง ๆ ของ project ของเรา

Checkout

Checkout คือ การสลับไปใช้ branch อื่นหรือ เวอร์ชันอื่น เช่น branch master ซึ่งเป็นตัวหลักของงานเรา เราก็สามารถสลับไป branch dev เพื่อสามารถแก้ไขงานได้หรือพัฒนา feature ใหม่ ๆ ได้ และเมื่อเจอบัคก็สามารถย้อนไปทำงานเวอร์ชันเก่าได้อีกด้วย

Git Basic Command

Git install

sudo apt install git

git init

สร้าง .git ขึ้นมาภายใต้โฟลเดอร์หรือ Project ของคุณในการใช้งานครั้งแรก

ไฟล์ .git มีไว้เพื่อเก็บ config หรือ ข้อมูลที่เกี่ยวข้องกับการใช้งาน Git

git init

git config

ใช้แสดงและกำหนดข้อมูลของผู้ใช้เพื่อระบุตัวตนงานเพื่อกำหนดผู้ใช้งาน

git config --global user.email "your_email@example.com";
git config --global user.name "your_name";

git status

ใช้ตรวจสอบว่ามีไฟล์ไหนที่ยังไม่ได้ add หรือมีการเปลี่ยนแปลงแล้วยังไม่ถูกจัดการบ้าง

git status

git add

ใช้เพื่อเพิ่มไฟล์จาก Local repository หรือ ไฟล์ภายในเครื่องตัวเอง ไปยัง Remote repository หรือ พื้นที่บน GIT

git add file_name
git add .

git add file_name เพื่อเลือก add ทีละไฟล์

git add . เพื่อเลือก add ทุกไฟล์หรือทั้ง folder

git commit

ยืนยันการเปลี่ยนแปลงไฟล์ที่ถูก add โดยสามารถใส่ comment ด้วยการเติม -m ด้านหลัง

git commit -m "commit_message"

commit_message คือ ข้อความหรือรายละเอียดที่ต้องการแนบ

git branch

โดยปกติแล้วจะมี branch หลักอยู่เพียงอันเดียว

git branch
git branch branch_name

git branch ใช้ดู branch ที่มีอยู่ทั้งหมด

git branch branch_name ใช้สร้าง branch โดยจะเป็นตัวสำเนาของ branch ที่อยู่ก่อนหน้านี้ (ซึ่งส่วนใหญ่มักจะเป็น Main Branch)

git checkout

ใช้สำหรับย้ายออกจาก branch ที่คุณกำลังทำงานอยู่ไปยังอีก your_branch ที่คุณต้องการ

git checkout your_branch

git remote

ใช้เพิ่ม Location ของ Remote Repository

git remote add origin https://github.com/user_name/project.git

git pull

ใช้งานเพื่อดึงไฟล์จาก branch นั้น ๆ

git pull your_branch

git push

เป็นการส่งไฟล์ที่ commit แล้วเข้าสู่ remote repository ใน branch ที่ต้องการ

git push origin your_branch

git clone

หากไม่มี Project อยู่ในคอมพิวเตอร์ที่กำลังใช้งานอยู่ คำสั่งนี้จะทำให้สามารถ Clone (หรือ Download) Project ทั้งหมดลงใน Local directory ที่คุณกำลังใช้งาน

git clone https://github.com/user_name/project.git

แหล่งอ้างอิง 📑

Last updated

Was this helpful?