Các lệnh Git cơ bản: Hướng dẫn dễ hiểu cho người mới bắt đầu

Git là một công cụ mạnh mẽ, nhưng để bắt đầu, bạn chỉ cần nắm vững một số lệnh Git cơ bản. Bài viết này sẽ cung cấp một hướng dẫn dễ hiểu nhất về các lệnh Git quan trọng nhất, giúp bạn nhanh chóng làm quen và sử dụng Git hiệu quả trong công việc hàng ngày. Các lệnh được sắp xếp theo từng nhóm chức năng, kèm theo ví dụ minh họa và giải thích chi tiết.

Danh sách chọn nhanh các lệnh Git cơ bản (Mục lục):

  1. Khởi tạo và Clone Repository
  2. Cấu hình Git
  3. Xem trạng thái và lịch sử
  4. Staging và Commit thay đổi
  5. Làm việc với Nhánh (Branch)
  6. Làm việc với Remote Repository

1. Khởi tạo và Clone Repository

Nhóm lệnh này dùng để bắt đầu một dự án Git mới hoặc sao chép một dự án đã có từ xa về máy của bạn.

git init

Mô tả: Khởi tạo một local repository Git mới trong thư mục hiện tại. Lệnh này sẽ tạo ra một thư mục ẩn .git, là nơi Git lưu trữ tất cả thông tin về phiên bản, lịch sử dự án.

Ví dụ:


cd ten-thu-muc-du-an-cua-ban
git init

Giải thích:

  • Đầu tiên, bạn dùng lệnh cd (change directory) để di chuyển vào thư mục dự án của mình.
  • Sau đó, lệnh git init sẽ biến thư mục này thành một Git repository.
  • Bạn sẽ thấy thông báo Initialized empty Git repository, xác nhận rằng Git đã được khởi tạo thành công.

git clone [URL repository]

Mô tả: Clone (sao chép) một remote repository (kho lưu trữ từ xa) về máy tính cục bộ của bạn. Thường dùng để tải code dự án từ GitHub, GitLab, Bitbucket về máy để bắt đầu làm việc.

Ví dụ:


git clone https://github.com/ten-nguoi-dung/ten-repository.git

Giải thích:

  • Lệnh git clone sẽ tải toàn bộ repository từ địa chỉ URL bạn cung cấp (ví dụ: URL từ GitHub).
  • Git sẽ tạo một thư mục mới có tên giống như tên repository (trong ví dụ là ten-repository) và tải code dự án vào thư mục đó.
  • Sau khi clone xong, bạn đã có một bản sao đầy đủ của dự án trên máy tính của mình.

2. Cấu hình Git

Nhóm lệnh này dùng để thiết lập các thông tin cá nhân của bạn cho Git, như tên và email, để Git có thể ghi nhận ai là người thực hiện các thay đổi.

git config –global user.name “[Tên của bạn]”

Mô tả: Cấu hình tên người dùng của bạn một cách toàn cục (global). Tên này sẽ được sử dụng cho tất cả các commit bạn thực hiện trên máy tính này.

Ví dụ:


git config --global user.name "Nguyen Van A"

Giải thích:

  • Lệnh git config --global user.name thiết lập tên người dùng.
  • Thay "Nguyen Van A" bằng tên thật của bạn.
  • --global nghĩa là cấu hình này áp dụng cho mọi Git repository trên máy tính của bạn.

git config –global user.email “[email protected]”

Mô tả: Cấu hình địa chỉ email của bạn một cách toàn cục. Email này cũng sẽ được sử dụng cho các commit của bạn.

Ví dụ:


git config --global user.email "[email protected]"

Giải thích:

  • Lệnh git config --global user.email thiết lập email người dùng.
  • Thay "[email protected]" bằng địa chỉ email thật của bạn.
  • Tương tự như trên, --global nghĩa là cấu hình này áp dụng toàn cục.

git config –list

Mô tả: Hiển thị danh sách tất cả các cấu hình Git hiện tại của bạn, bao gồm tên, email, và nhiều cấu hình khác.

Ví dụ:


git config --list

Giải thích:

  • Lệnh git config --list sẽ in ra một danh sách các cấu hình Git mà bạn đã thiết lập.
  • Bạn có thể kiểm tra lại xem tên và email của mình đã được cấu hình đúng chưa.

3. Xem trạng thái và lịch sử

Nhóm lệnh này giúp bạn theo dõi tình trạng hiện tại của dự án và xem lại lịch sử các thay đổi đã thực hiện.

git status

Mô tả: Hiển thị trạng thái hiện tại của working directory (thư mục làm việc) và staging area (vùng chờ). Cho bạn biết những file nào đã được thay đổi, file nào đã được staging để chuẩn bị commit, và file nào chưa được Git theo dõi.

Ví dụ:


git status

Giải thích:

  • Lệnh git status sẽ cho bạn biết:
    • Bạn đang ở branch nào (ví dụ: On branch main).
    • Các file đã thay đổi nhưng chưa được staging (Changes not staged for commit).
    • Các file đã được staging và sẵn sàng commit (Changes to be committed).
    • Các file mới chưa được Git theo dõi (Untracked files).
  • Đây là lệnh bạn sẽ dùng thường xuyên để kiểm tra xem mình đang ở đâu và có những thay đổi gì.

git log

Mô tả: Hiển thị lịch sử commit của repository. Bạn có thể xem danh sách các commit đã thực hiện, thông tin tác giả, thời gian commit, và thông điệp commit.

Ví dụ:


git log

Giải thích:

  • Lệnh git log sẽ hiển thị lịch sử commit theo thứ tự commit mới nhất ở trên cùng.
  • Mỗi commit sẽ có thông tin về:
    • commit [hash]: Mã hash SHA-1 của commit (định danh duy nhất).
    • Author: Tên và email của người commit.
    • Date: Thời gian commit.
    • Thông điệp commit: Dòng mô tả thay đổi trong commit.
  • Bạn có thể dùng các tùy chọn khác với git log để xem lịch sử theo nhiều cách khác nhau (ví dụ: git log --oneline để xem ngắn gọn hơn).

4. Staging và Commit thay đổi

Nhóm lệnh này dùng để chuẩn bị các thay đổi của bạn (staging) và sau đó lưu các thay đổi đó vào lịch sử dự án (commit).

git add [tên file]

Mô tả: Staging file, tức là thêm file hoặc các thay đổi trong file vào staging area. Staging area là vùng trung gian để bạn chọn lọc những thay đổi nào sẽ được đưa vào commit tiếp theo.

Ví dụ:


git add index.html
git add style.css script.js
git add . # Thêm tất cả các thay đổi trong thư mục hiện tại và thư mục con

Giải thích:

  • git add index.html: Chỉ staging file index.html.
  • git add style.css script.js: Staging hai file style.cssscript.js.
  • git add .: Staging tất cả các file đã thay đổi, file mới, và file đã xóa trong thư mục hiện tại và các thư mục con. Dấu . đại diện cho thư mục hiện tại.
  • Sau khi staging, các file này sẽ sẵn sàng để được commit.

git commit -m “[Thông điệp commit]”

Mô tả: Commit các thay đổi đã được staging vào local repository. Mỗi commit là một bản ghi lại trạng thái của dự án tại một thời điểm, kèm theo một thông điệp commit mô tả các thay đổi bạn đã thực hiện.

Ví dụ:


git commit -m "feat: Thêm chức năng đăng nhập cơ bản"
git commit -m "fix: Sửa lỗi hiển thị trên trang chủ"

Giải thích:

  • git commit -m: Lệnh commit với tùy chọn -m (message) để bạn viết thông điệp commit ngay trên dòng lệnh.
  • "feat: Thêm chức năng đăng nhập cơ bản": Đây là thông điệp commit. Nên viết thông điệp commit rõ ràng, ngắn gọn, mô tả mục đích của commit. Nên theo một số quy ước về thông điệp commit (ví dụ: Conventional Commits) để lịch sử commit dễ đọc và dễ quản lý hơn.
  • Sau khi commit, các thay đổi của bạn đã được lưu vào lịch sử dự án trong local repository.

5. Làm việc với Nhánh (Branch)

Nhóm lệnh này giúp bạn tạo nhánh mới, chuyển đổi giữa các nhánh, và hợp nhất các nhánh lại với nhau.

git branch

Mô tả: Hiển thị danh sách các nhánh hiện có trong local repository của bạn. Nhánh hiện tại bạn đang làm việc sẽ được đánh dấu bằng dấu *.

Ví dụ:


git branch

Giải thích:

  • Lệnh git branch sẽ in ra danh sách các nhánh.
  • Nhánh hiện tại sẽ có dấu * ở đầu dòng (ví dụ: * main).
  • Bạn có thể dùng lệnh này để xem mình đang ở nhánh nào và có những nhánh nào khác trong dự án.

git branch [tên nhánh mới]

Mô tả: Tạo một nhánh mới với tên bạn chỉ định. Nhánh mới này sẽ được tạo ra từ commit hiện tại bạn đang đứng.

Ví dụ:


git branch feature-gio-hang

Giải thích:

  • git branch feature-gio-hang: Tạo một nhánh mới có tên là feature-gio-hang.
  • Sau khi lệnh này chạy, bạn sẽ có một nhánh mới, nhưng bạn vẫn đang ở nhánh cũ (ví dụ: main). Để chuyển sang nhánh mới, bạn cần dùng lệnh git checkout.

git checkout [tên nhánh]

Mô tả: Chuyển sang làm việc trên một nhánh khác đã có. Lệnh này sẽ thay đổi working directory của bạn để phản ánh trạng thái của nhánh bạn chọn.

Ví dụ:


git checkout feature-gio-hang

Giải thích:

  • git checkout feature-gio-hang: Chuyển sang nhánh feature-gio-hang.
  • Bạn sẽ thấy thông báo Switched to branch 'feature-gio-hang', xác nhận bạn đã chuyển nhánh thành công.
  • Từ bây giờ, mọi thay đổi bạn thực hiện sẽ thuộc về nhánh feature-gio-hang, cho đến khi bạn chuyển sang nhánh khác.

git checkout -b [tên nhánh mới]

Mô tả: Tạo một nhánh mới và đồng thời chuyển sang làm việc trên nhánh đó (kết hợp cả tạo nhánh và checkout). Đây là cách thường dùng để bắt đầu phát triển một tính năng mới.

Ví dụ:


git checkout -b feature-tim-kiem

Giải thích:

  • git checkout -b feature-tim-kiem: Tạo nhánh mới tên feature-tim-kiem và chuyển sang nhánh đó.
  • Tùy chọn -b (branch) kết hợp cả việc tạo nhánh và checkout trong một lệnh.
  • Bạn sẽ thấy thông báo Switched to a new branch 'feature-tim-kiem', cho biết bạn đã tạo và chuyển nhánh thành công.

git merge [tên nhánh]

Mô tả: Hợp nhất (merge) các thay đổi từ một nhánh khác (ví dụ: feature-gio-hang) vào nhánh hiện tại bạn đang đứng (ví dụ: main). Thường dùng để tích hợp tính năng đã phát triển xong từ nhánh feature vào nhánh chính.

Ví dụ:


git checkout main # Chuyển sang nhánh main (nhánh bạn muốn hợp nhất vào)
git merge feature-gio-hang # Hợp nhất nhánh feature-gio-hang vào nhánh main

Giải thích:

  • Đầu tiên, bạn cần git checkout main để chuyển sang nhánh mà bạn muốn hợp nhất vào (thường là main).
  • Sau đó, git merge feature-gio-hang sẽ hợp nhất các thay đổi từ nhánh feature-gio-hang vào nhánh main.
  • Nếu không có xung đột (conflict), Git sẽ tự động hợp nhất. Nếu có xung đột, bạn cần giải quyết xung đột trước khi hoàn tất merge.

6. Làm việc với Remote Repository

Nhóm lệnh này dùng để tương tác với remote repository, giúp bạn chia sẻ code với người khác, sao lưu dự án, và cộng tác làm việc nhóm.

git remote add origin [URL repository]

Mô tả: Thêm một remote repository vào local repository của bạn. Thường dùng để liên kết local repository với một repository trên GitHub, GitLab, Bitbucket. Tên origin là tên thường được sử dụng cho remote repository chính.

Ví dụ:


git remote add origin https://github.com/ten-nguoi-dung/ten-repository.git

Giải thích:

  • git remote add origin: Lệnh thêm remote repository với tên origin.
  • https://github.com/ten-nguoi-dung/ten-repository.git: URL của remote repository (ví dụ: từ GitHub). Thay bằng URL repository của bạn.
  • Sau khi thêm remote, bạn có thể dùng tên origin để tham chiếu đến remote repository này trong các lệnh Git khác (ví dụ: git push origin main).

git remote -v

Mô tả: Hiển thị danh sách các remote repository đã được cấu hình cho local repository của bạn, kèm theo URL của chúng.

Ví dụ:


git remote -v

Giải thích:

  • Lệnh git remote -v sẽ in ra danh sách các remote.
  • Bạn có thể kiểm tra xem remote origin đã được thêm đúng chưa, và URL có chính xác không.
  • -v (verbose) tùy chọn để hiển thị thông tin chi tiết hơn, bao gồm cả URL.

git push origin [tên nhánh]

Mô tả: Push (đẩy) các commit từ local repository lên remote repository. Thường dùng để chia sẻ code của bạn với người khác, hoặc sao lưu code lên server.

Ví dụ:


git push origin main

Giải thích:

  • git push origin main: Đẩy nhánh main từ local repository lên remote repository có tên origin (và cũng lên nhánh main trên remote).
  • origin: Tên của remote repository bạn đã thêm (thường là remote chính).
  • main: Tên nhánh bạn muốn đẩy lên remote. Bạn có thể đẩy nhánh khác (ví dụ: git push origin feature-gio-hang).
  • Sau khi push thành công, code của bạn đã được tải lên remote repository.

git pull origin [tên nhánh]

Mô tả: Pull (kéo) các thay đổi từ remote repository về local repository, và hợp nhất (merge) chúng vào nhánh hiện tại của bạn. Thường dùng để cập nhật code mới nhất từ remote về máy của bạn, đặc biệt khi làm việc nhóm.

Ví dụ:


git pull origin main

Giải thích:

  • git pull origin main: Kéo các thay đổi từ nhánh main trên remote origin về nhánh main trên local, và tự động hợp nhất.
  • origin: Tên của remote repository.
  • main: Tên nhánh bạn muốn pull về và hợp nhất.
  • Lệnh git pull thực chất là kết hợp của hai lệnh: git fetch (tải về) và git merge (hợp nhất).
  • Dùng lệnh git pull thường xuyên để đảm bảo local repository của bạn luôn đồng bộ với remote, đặc biệt khi làm việc nhóm.

Kết luận: Nắm vững các lệnh Git cơ bản để làm chủ quản lý phiên bản

Bài viết này đã giới thiệu các lệnh Git cơ bản nhất mà mọi lập trình viên cần biết. Nắm vững những lệnh này là bước đầu tiên quan trọng để bạn có thể sử dụng Git hiệu quả trong công việc hàng ngày.

Để thực sự thành thạo Git, bạn cần thực hành thường xuyên, thử nghiệm các lệnh, và làm việc với các dự án Git thực tế. Hãy bắt đầu từ những lệnh cơ bản này, và dần dần khám phá thêm các tính năng nâng cao của Git để trở thành một chuyên gia quản lý phiên bản!

Chúc bạn thành công trên hành trình học tập và sử dụng Git!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lên đầu trang