THAO TÁC GIT CƠ BẢN VỚI GIT BASH

1.Sử dụng Git Bash

Git Bash là môi trường dòng lệnh được cài cùng Git trên Windows. Công cụ này cung cấp các lệnh để thao tác với Git và một số tác vụ quản lý tệp, thư mục.

1.1. Mở Git Bash

  • Nhấn chuột phải vào một thư mục hoặc vị trí trống trong File Explorer, chọn Open Git Bash Here (nếu có).
  • Hoặc mở từ menu Start của Windows.

1.2. Kiểm tra phiên bản Git

git –version

Lệnh này hiển thị phiên bản Git đang cài trên máy.

2. Thiết lập danh tính người dùng

Trước khi làm việc với Git, cần khai báo tên và email của người thực hiện Commit. Git dùng thông tin này để ghi nhận tác giả của mỗi lần lưu phiên bản.

2.1. Thiết lập tên người dùng

git config –global user.name “Tên người dùng”

  • `git config`: xem hoặc thay đổi cấu hình Git.
  • `–global`: áp dụng cho tất cả Repository của người dùng hiện tại trên máy.
  • `user.name`: tên tác giả được ghi trong các Commit.

2.2. Thiết lập địa chỉ email

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

Nên dùng email liên kết với tài khoản GitHub để Commit hiển thị đúng trên GitHub.

2.3. Kiểm tra thông tin cấu hình

cat ~/.gitconfig

Lệnh này hiển thị nội dung tệp cấu hình Git toàn cục, giúp kiểm tra tên và email đã đúng chưa.

3. Tạo Local Repository

3.1. Tạo thư mục dự án

mkdir MyProject

  • `mkdir`: tạo thư mục mới.
  • `MyProject`: tên thư mục muốn tạo.

3.2. Di chuyển vào thư mục dự án

cd MyProject

  • `cd`: thay đổi thư mục làm việc hiện tại.

3.3. Khởi tạo Repository

git init

Lệnh này khởi tạo một Repository Git mới ngay tại thư mục hiện tại.

Ví dụ thông báo:

Initialized empty Git repository in /…/MyProject/.git/

Git tạo một thư mục ẩn tên `.git` bên trong thư mục dự án. Vai trò của `.git`:

  • Lưu cấu hình riêng của Repository.
  • Quản lý lịch sử các Commit.
  • Lưu dữ liệu cần thiết để Git theo dõi phiên bản.
  • Quản lý các nhánh và các thành phần nội bộ khác.

Thông thường không cần chỉnh sửa trực tiếp bên trong `.git`, chỉ cần thao tác qua các lệnh Git.

4. Thêm tệp bằng Git Add

Ví dụ: trong thư mục `MyProject`, tạo hoặc sao chép một tệp ảnh tên `sample.jpeg`.

4.1. Lệnh Git Add

git add tên_tệp

Thêm tất cả thay đổi phù hợp trong thư mục hiện tại và các thư mục con:

git add .

4.2. Staging Area là gì?

Staging Area là khu vực trung gian giúp chọn những thay đổi sẽ đưa vào Commit tiếp theo.

  • Cho phép chọn các tệp cần lưu phiên bản.
  • Có thể đưa nhiều tệp vào trước khi Commit.
  • Giúp kiểm soát chính xác thay đổi nào được ghi nhận trong một Commit.

5. Lưu phiên bản bằng Git Commit

Sau khi đưa thay đổi vào Staging Area, cần Commit để lưu lại trạng thái đó.

5.1. Lệnh Git Commit

git commit -m “Thông điệp mô tả”

5.2. Vai trò của Commit

Commit là một bản ghi lưu trạng thái của dự án tại một thời điểm. Mỗi Commit thường gồm:

  • Mã định danh duy nhất.
  • Thông tin tác giả.
  • Thời gian tạo.
  • Thông điệp mô tả.
  • Tham chiếu đến trạng thái dữ liệu của dự án.
  • Liên kết đến Commit trước đó trong lịch sử.

Lưu ý: `git commit` chỉ lưu thay đổi trong Local Repository. Muốn chia sẻ lên Remote Repository, cần dùng thêm `git push`.

6. Kiểm tra trạng thái bằng Git Status

6.1. Lệnh Git Status

git status

Hiển thị trạng thái của thư mục làm việc và Staging Area, thường gồm:

  • Nhánh hiện tại đang dùng.
  • Các tệp đã chỉnh sửa nhưng chưa đưa vào Staging Area.
  • Các tệp đã vào Staging Area nhưng chưa Commit.
  • Các tệp chưa được Git theo dõi.
  • Trạng thái đồng bộ giữa thay đổi hiện tại và Commit gần nhất.

6.2. Ý nghĩa của “working tree clean”

Ví dụ kết quả:

On branch master

nothing to commit, working tree clean

  • `On branch master`: Repository đang ở nhánh master.
  • `nothing to commit`: không có thay đổi nào đang chờ Commit.
  • `working tree clean`: thư mục làm việc không có thay đổi nào chưa được ghi nhận so với trạng thái đã lưu.

Kết quả này cho thấy các thay đổi đã được Commit và hiện không có thay đổi mới cần xử lý.

Lưu ý: nếu `.env` đã nằm trong `.gitignore` thì `git status` vẫn hiển thị `nothing to commit, working tree clean`.

Bài viết khác

Test Automation(Kiểm thử tự động)

1.Test Automation (Kiểm thử tự động) là gì? Trong các dự án phát triển phần mềm truyền thống trước đây, toàn bộ quy trình kiểm thử (Testing) đều được thực hiện thủ công (Manual Testing) bởi con người. Các kiểm thử viên trực tiếp thao tác trên giao diện, nhập dữ liệu, kiểm tra kết […]

Logging – Monitoring – CI/CD

Logging, Monitoring và CI/CD là gì? Vai trò trong phát triển Backend 1. Tổng quan Khi xây dựng một ứng dụng Backend, viết code và chạy được chương trình mới chỉ là bước đầu. Khi ứng dụng được đưa vào sử dụng, lập trình viên còn cần biết ứng dụng đang hoạt động như thế […]

Redis & Caching là gì?

Redis & Caching là gì? Hướng dẫn sử dụng Redis trong Go 1. Caching là gì? Vì sao cần cache khi đã có database? Caching (bộ nhớ đệm) là kỹ thuật lưu tạm dữ liệu thường được truy cập để có thể lấy lại nhanh chóng khi cần, thay vì phải thực hiện lại toàn […]

Background Jobs & Queues

1. Background Jobs & Queues là gì? Trong một ứng dụng backend, không phải công việc nào cũng cần hoàn thành ngay trong lúc xử lý HTTP request. Ví dụ, khi người dùng đăng ký tài khoản, hệ thống có thể cần: Lưu thông tin người dùng vào database. Gửi email xác nhận. Gửi thông […]

Saga Pattern

Saga Pattern là gì? Quản lý Transaction trong kiến trúc Microservices 1. Saga Pattern là gì? Saga Pattern là một mẫu thiết kế được sử dụng để quản lý các nghiệp vụ phân tán gồm nhiều bước xử lý, trong đó mỗi bước có thể thực hiện một local transaction tại một service hoặc Database […]

Two-Phase Locking (2PL)

Two-Phase Locking (2PL) là gì? Cơ chế khóa hai pha trong Database 1. Two-Phase Locking (2PL) là gì? Two-Phase Locking (2PL — khóa hai pha) là một giao thức quản lý khóa trong Database, quy định cách một transaction được phép lấy và giải phóng lock trong quá trình thực thi. Khi nhiều transaction cùng […]

Leave a Reply

Your email address will not be published. Required fields are marked *