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

SDLC&STLC

1. Tổng quan nền tảng về quy trình phát triển và kiểm thử phần mềm Trong bất kỳ một dự án công nghệ thông tin nào, dù là ứng dụng di động nhỏ hay hệ thống phần mềm doanh nghiệp khổng lồ, việc để sản phẩm đi đến thành công không thể dựa vào sự […]

Kanban vs Scrum, Scrumban và phần nâng cao

Kanban vs Scrum, Scrumban và phần nâng cao So sánh Kanban và Scrum Tiêu chí Kanban Scrum Bản chất Phương pháp quản lý dòng chảy liên tục Framework phát triển theo chu kỳ Nhịp làm việc Dòng chảy liên tục Khung thời gian cố định (Sprint 1-4 tuần) Cam kết phạm vi Theo khả năng […]

Kanban từ đâu ra và nó thực chất là gì

Kanban từ đâu ra và nó thực chất là gì Chuyện bắt đầu ở Nhật Sau Thế chiến 2 (1945), kinh tế Nhật tan hoang: thiếu vốn, thiếu tài nguyên, hạ tầng bị phá nát. Ngành ô tô Nhật lúc đó gặp bài toán sống còn: thị trường cần nhiều mẫu mã nhưng mỗi mẫu […]

Backlog Refinement, ước lượng, công cụ thực tế

Backlog Refinement, ước lượng, công cụ thực tế Backlog Refinement Là hoạt động làm rõ Product Backlog: chia nhỏ, làm rõ, ước lượng, sắp xếp lại các item khi cần. Ví dụ ban đầu backlog có một mục “Product Search” quá to. Sau khi refine thì tách thành: Search UI, Search API, Search by name, […]

Scrum cơ bản, vai trò và các sự kiện

Scrum cơ bản, vai trò và các sự kiện Scrum sinh ra để làm gì? Hiểu Agile xong thì sẽ nảy ra câu hỏi: Agile bảo phản hồi nhanh, thích nghi, cải tiến liên tục, nhưng làm thật thì tổ chức công việc kiểu gì? Scrum ra đời để trả lời câu đó. Theo Scrum […]

12 nguyên tắc, feedback loop và mấy khái niệm liên quan

12 nguyên tắc, feedback loop và mấy khái niệm liên quan 12 nguyên tắc Agile Nếu 4 giá trị là tư tưởng thì 12 nguyên tắc là cách biến tư tưởng đó thành hướng đi thực tế. Giao hàng sớm và liên tục (Early and continuous delivery) Đưa phần mềm có giá trị đến tay […]

Leave a Reply

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