You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 KiB
11 KiB
พื้นฐานของ GIT สำหรับมือใหม่ด้านการพัฒนาเว็บ 👶
Git คืออะไร?
- Git เป็นระบบควบคุมเวอร์ชันแบบกระจาย
- โค้ดทั้งหมดและประวัติการเปลี่ยนแปลงจะถูกเก็บไว้ในคอมพิวเตอร์ของนักพัฒนาทุกคน ซึ่งช่วยให้สามารถสร้างและรวมสาขาได้ง่าย
- ใช้เป็นระบบควบคุมเวอร์ชัน (Version Control System - VCS) สำหรับติดตามการเปลี่ยนแปลงในไฟล์คอมพิวเตอร์
- ระบบควบคุมเวอร์ชันแบบกระจาย
- ประสานงานการทำงานระหว่างนักพัฒนาหลายคน
- ใครเปลี่ยนแปลงอะไรและเมื่อไหร่
- ย้อนกลับไปยังสถานะก่อนหน้าได้ทุกเมื่อ
- มีทั้งที่เก็บข้อมูลในเครื่องและที่เก็บข้อมูลบนเซิร์ฟเวอร์
แนวคิดของ Git
- ติดตามประวัติการเปลี่ยนแปลงของโค้ด
- สร้าง "ภาพถ่าย" (snapshot) ของไฟล์ของคุณ
- คุณเป็นผู้ตัดสินใจว่าจะสร้างภาพถ่ายเมื่อไหร่โดยการ "commit"
- สามารถเข้าถึงภาพถ่ายใด ๆ ได้ทุกเวลา
- สามารถจัดเตรียมไฟล์ก่อนการ commit ได้
ความแตกต่างระหว่าง Git และ GitHub
| Git | GitHub |
|---|---|
| Git เป็นซอฟต์แวร์ | GitHub เป็นบริการบนคลาวด์ |
| Git ติดตั้งในเครื่องบนระบบ | GitHub โฮสต์บนเว็บ |
| Git เป็นเครื่องมือแบบบรรทัดคำสั่ง | GitHub เป็นส่วนติดต่อผู้ใช้แบบกราฟิก |
| Git ดูแลโดย Linux | GitHub ดูแลโดย Microsoft |
| Git เน้นการควบคุมเวอร์ชันและการแชร์โค้ด | GitHub เน้นการโฮสต์โค้ดแบบรวมศูนย์ |
| Git เป็นโอเพ่นซอร์ส | GitHub มีทั้งแบบฟรีและแบบเสียค่าใช้จ่าย |
| Git เปิดตัวในปี 2005 | GitHub เปิดตัวในปี 2008 |
การติดตั้ง Git
- Linux (Debian)
$sudo apt-get install git - Linux (Fedora)
$sudo yum install git - ดาวน์โหลด สำหรับ Mac
- ดาวน์โหลด สำหรับ Windows
ขั้นตอนการติดตั้ง:
-
-
-
-
-
- จากนั้นคลิก Next > Next > Next > Install
-
หลังการติดตั้ง เราต้องตั้งค่าการใช้งาน Git โดยใช้ Git Bash
git config --global user.name 'YourName'git config --global user.email 'YourEmail'
คำสั่ง Git
การเริ่มต้นและสร้างโปรเจกต์
| คำสั่ง | คำอธิบาย |
|---|---|
git init |
เริ่มต้นที่เก็บข้อมูล Git ในเครื่อง |
git clone ssh://git@github.com/[username]/[repository-name].git |
สร้างสำเนาในเครื่องจากที่เก็บข้อมูลบนเซิร์ฟเวอร์ |
การบันทึกภาพรวมพื้นฐาน
| คำสั่ง | คำอธิบาย |
|---|---|
git status |
ตรวจสอบสถานะ |
git add [file-name.txt] |
เพิ่มไฟล์ไปยังพื้นที่ staging |
git add -A |
เพิ่มไฟล์ใหม่และไฟล์ที่เปลี่ยนแปลงทั้งหมดไปยังพื้นที่ staging |
git commit -m "[commit message]" |
บันทึกการเปลี่ยนแปลง |
git rm -r [file-name.txt] |
ลบไฟล์ (หรือโฟลเดอร์) |
git push |
ส่งข้อมูลไปยังที่เก็บข้อมูลบนเซิร์ฟเวอร์ |
git pull |
ดึงการเปลี่ยนแปลงล่าสุดจากที่เก็บข้อมูลบนเซิร์ฟเวอร์ |
การจัดการสาขาและการรวม
| คำสั่ง | คำอธิบาย |
|---|---|
git branch |
แสดงรายการสาขา (เครื่องหมาย * หมายถึงสาขาปัจจุบัน) |
git branch -a |
แสดงรายการสาขาทั้งหมด (ในเครื่องและบนเซิร์ฟเวอร์) |
git branch [branch name] |
สร้างสาขาใหม่ |
git branch -D [branch name] |
ลบสาขา |
git push origin --delete [branch name] |
ลบสาขาบนเซิร์ฟเวอร์ |
git checkout -b [branch name] |
สร้างสาขาใหม่และสลับไปยังสาขานั้น |
git checkout -b [branch name] origin/[branch name] |
โคลนสาขาบนเซิร์ฟเวอร์และสลับไปยังสาขานั้น |
git branch -m [old branch name] [new branch name] |
เปลี่ยนชื่อสาขาในเครื่อง |
git checkout [branch name] |
สลับไปยังสาขา |
git checkout - |
สลับไปยังสาขาที่เคยใช้งานล่าสุด |
git checkout -- [file-name.txt] |
ยกเลิกการเปลี่ยนแปลงในไฟล์ |
git merge [branch name] |
รวมสาขาเข้ากับสาขาที่ใช้งานอยู่ |
git merge [source branch] [target branch] |
รวมสาขาเข้ากับสาขาเป้าหมาย |
git stash |
เก็บการเปลี่ยนแปลงในพื้นที่ทำงานที่ยังไม่เสร็จ |
git stash clear |
ลบรายการที่เก็บไว้ทั้งหมด |
การแชร์และอัปเดตโปรเจกต์
| คำสั่ง | คำอธิบาย |
|---|---|
git push origin [branch name] |
ส่งสาขาไปยังที่เก็บข้อมูลบนเซิร์ฟเวอร์ |
git push -u origin [branch name] |
ส่งการเปลี่ยนแปลงไปยังที่เก็บข้อมูลบนเซิร์ฟเวอร์ (และจำสาขาไว้) |
git push |
ส่งการเปลี่ยนแปลงไปยังที่เก็บข้อมูลบนเซิร์ฟเวอร์ (สาขาที่จำไว้) |
git push origin --delete [branch name] |
ลบสาขาบนเซิร์ฟเวอร์ |
git pull |
อัปเดตที่เก็บข้อมูลในเครื่องให้เป็นเวอร์ชันล่าสุด |
git pull origin [branch name] |
ดึงการเปลี่ยนแปลงจากที่เก็บข้อมูลบนเซิร์ฟเวอร์ |
git remote add origin ssh://git@github.com/[username]/[repository-name].git |
เพิ่มที่เก็บข้อมูลบนเซิร์ฟเวอร์ |
git remote set-url origin ssh://git@github.com/[username]/[repository-name].git |
ตั้งค่าที่เก็บข้อมูลต้นทางเป็น SSH |
การตรวจสอบและเปรียบเทียบ
| คำสั่ง | คำอธิบาย |
|---|---|
git log |
ดูการเปลี่ยนแปลง |
git log --summary |
ดูการเปลี่ยนแปลง (รายละเอียด) |
git log --oneline |
ดูการเปลี่ยนแปลง (แบบย่อ) |
git diff [source branch] [target branch] |
ดูตัวอย่างการเปลี่ยนแปลงก่อนการรวม |
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้