Các Lệnh Git Hữu Ích: Hướng Dẫn Chi Tiết

Dưới đây là một danh sách chi tiết các lệnh Git hữu ích, kèm theo ví dụ minh họa:

git init

Khởi tạo một kho chứa Git mới trong thư mục dự án của bạn.

Ví dụ:

$ git init
Initialized empty Git repository in /path/to/your/project/.git/

git clone [url]

Sao chép một kho chứa từ máy chủ từ xa (remote repository) vào máy tính của bạn.

Ví dụ:

$ git clone https://github.com/yourusername/your-repo.git
Cloning into 'your-repo'...

git add [file]

Thêm một hoặc nhiều tệp vào vùng staging để chuẩn bị cho commit.

Ví dụ:

$ git add index.html
$ git add *.css

git commit -m "message"

Tạo một commit mới với các thay đổi đã được thêm vào vùng staging và ghi lại tin nhắn của bạn.

Ví dụ:

$ 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

Xem trạng thái hiện tại của kho chứa, bao gồm các tệp đã được thay đổi và vùng staging.

Ví dụ:

$ 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

Hiển thị lịch sử commit của kho chứa.

Ví dụ:

$ 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

Liệt kê tất cả các nhánh trong kho chứa và đánh dấu nhánh hiện tại.

Ví dụ:

$ git branch
* main
  feature/add-new-feature
  feature/fix-bug

git checkout [branch]

Chuyển đổi đến một nhánh khác trong kho chứa.

Ví dụ:

$ git checkout feature/fix-bug
Switched to branch 'feature/fix-bug'

git merge [branch]

Merge nhánh khác vào nhánh hiện tại.

Ví dụ:

$ 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

Tải về và tích hợp các thay đổi từ kho chứa từ xa vào nhánh hiện tại.

Ví dụ:

$ git pull origin main
From https://github.com/yourusername/your-repo
* branch            main       -> FETCH_HEAD
Already up to date.

git push

Đẩy các thay đổi từ nhánh hiện tại lên kho chứa từ xa.

Ví dụ:

$ git push origin main

git remote add [name] [url]

Thêm một máy chủ từ xa (remote) mới vào danh sách máy chủ từ xa của bạn.

Ví dụ:

$ git remote add upstream https://github.com/upstream-repo/repo.git

git fetch

Tải về các thay đổi từ các máy chủ từ xa, nhưng không tích hợp vào nhánh hiện tại.

Ví dụ:

$ git fetch origin

git diff

So sánh các thay đổi giữa vùng staging và các tệp chưa được theo dõi.

Ví dụ:

$ git diff

git reset [file]

Loại bỏ tệp đã được thêm vào vùng staging và quay trở lại trạng thái trước đó.

Ví dụ:

$ git reset index.html

git stash

Lưu tạm thời các thay đổi chưa được commit để làm việc trên nhánh khác mà không cần commit những thay đổi đó.

Ví dụ:

$ git stash
Saved working directory and index state WIP on feature/branch: abcd123 Commit message

git remote -v

Liệt kê danh sách các máy chủ từ xa và địa chỉ url của chúng.

Ví dụ:

$ 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)