นี่คือรายการโดยละเอียดของคำสั่ง Git ที่มีประโยชน์ พร้อมด้วยตัวอย่างประกอบ:
git init
เริ่มต้นที่เก็บ Git ใหม่ในไดเร็กทอรีโครงการของคุณ
ตัวอย่าง:
$ git init
Initialized empty Git repository in /path/to/your/project/.git/
git clone [url]
โคลนพื้นที่เก็บข้อมูลระยะไกลจากเซิร์ฟเวอร์ไปยังเครื่องภายในของคุณ
ตัวอย่าง:
$ git clone https://github.com/yourusername/your-repo.git
Cloning into 'your-repo'...
git add [file]
เพิ่มไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไปในพื้นที่จัดเตรียมเพื่อเตรียมพร้อมสำหรับไฟล์ commit.
ตัวอย่าง:
$ git add index.html
$ git add *.css
git commit -m "message"
สร้างใหม่ commit ด้วยการเปลี่ยนแปลงที่เพิ่มในพื้นที่จัดเตรียมและรวม commit ข้อความ ของคุณ
ตัวอย่าง:
$ git commit -m "Fix a bug in login process"
[main 83a9b47] Fix a bug in login process
1 file changed, 5 insertions(+), 2 deletions(-)
git status
ดูสถานะปัจจุบันของที่เก็บ รวมถึงไฟล์ที่แก้ไขและพื้นที่การจัดเตรียม
ตัวอย่าง:
$ git status
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: index.html
no changes added to commit(use "git add" and/or "git commit -a")
git log
แสดง commit ประวัติของที่เก็บ
ตัวอย่าง:
$ git log
commit 83a9b4713f9b6252bfc0367c8b1ed3a8e9c75428(HEAD -> main)
Author: Your Name <[email protected]>
Date: Mon Jul 13 12:34:56 2023 +0200
Fix a bug in login process
commit 47f1c32798b7e862c4c69718abf6498255f1a3d2
Author: Your Name <[email protected]>
Date: Sun Jul 12 18:42:15 2023 +0200
Add new homepage
git branch
แสดงสาขาทั้งหมดในที่เก็บและทำเครื่องหมายสาขาปัจจุบัน
ตัวอย่าง:
$ git branch
* main
feature/add-new-feature
feature/fix-bug
git checkout [branch]
สลับไปยังสาขาอื่นในพื้นที่เก็บข้อมูล
ตัวอย่าง:
$ git checkout feature/fix-bug
Switched to branch 'feature/fix-bug'
git merge [branch]
รวมสาขาอื่นเข้ากับสาขาปัจจุบัน
ตัวอย่าง:
$ git merge feature/add-new-feature
Updating 83a9b47..65c6017
Fast-forward
new-feature.html| 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 new-feature.html
git pull
ดึงข้อมูลและรวมการเปลี่ยนแปลงจากที่เก็บระยะไกลไปยังสาขาปัจจุบัน
ตัวอย่าง:
$ git pull origin main
From https://github.com/yourusername/your-repo
* branch main -> FETCH_HEAD
Already up to date.
git push
พุชการเปลี่ยนแปลงจากสาขาปัจจุบันไปยังที่เก็บระยะไกล
ตัวอย่าง:
$ git push origin main
git remote add [name] [url]
เพิ่มเซิร์ฟเวอร์ระยะไกลใหม่ในรายการที่เก็บระยะไกลของคุณ
ตัวอย่าง:
$ git remote add upstream https://github.com/upstream-repo/repo.git
git fetch
ดาวน์โหลดการเปลี่ยนแปลงจากที่เก็บระยะไกล แต่ไม่รวมเข้ากับสาขาปัจจุบัน
ตัวอย่าง:
$ git fetch origin
git diff
เปรียบเทียบการเปลี่ยนแปลงระหว่างพื้นที่จัดเตรียมและไฟล์ที่ติดตาม
ตัวอย่าง:
$ git diff
git reset [file]
ลบไฟล์ออกจากพื้นที่จัดเตรียมและเปลี่ยนกลับเป็นสถานะก่อนหน้า
ตัวอย่าง:
$ git reset index.html
git stash
บันทึกการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดเป็นการชั่วคราวเพื่อทำงานในสาขาอื่นโดยไม่ต้องยอมรับ
ตัวอย่าง:
$ git stash
Saved working directory and index state WIP on feature/branch: abcd123 Commit message
git remote -v
รายชื่อเซิร์ฟเวอร์ระยะไกลและที่อยู่ url
ตัวอย่าง:
$ git remote -v
origin https://github.com/yourusername/your-repo.git(fetch)
origin https://github.com/yourusername/your-repo.git(push)
upstream https://github.com/upstream-repo/repo.git(fetch)
upstream https://github.com/upstream-repo/repo.git(push)