คำสั่ง Git ที่มีประโยชน์: คู่มือฉบับสมบูรณ์

นี่คือรายการโดยละเอียดของคำสั่ง 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)