Git là gì?

Git là một hệ thống quản lý phiên bản (Version Control System – VCS) phân tán mã nguồn mở, được phát triển bởi Linus Torvalds – người tạo ra Linux. Git giúp quản lý và theo dõi các thay đổi trong mã nguồn khi làm việc cá nhân hoặc theo nhóm.

Nhờ Git, có thể:

  • Lưu lại lịch sử thay đổi của mã nguồn theo từng phiên bản
  • Quay lại các phiên bản trước nếu xảy ra lỗi
  • Làm việc nhóm hiệu quả, dễ dàng tích hợp và phân chia công việc

Cách Git hoạt động

Git hoạt động theo mô hình phân tán, nghĩa là mỗi lập trình viên đều có một bản sao đầy đủ của toàn bộ dự án. Các thay đổi được lưu cục bộ trước, sau đó mới đẩy (push) lên Git server (như GitHub, GitLab, Bitbucket…).

Các khái niệm quan trọng

  • Repository (repo): Kho lưu trữ mã nguồn. Có thể là local (trên máy cá nhân) hoặc remote (trên GitHub,…).
  • Commit: Ghi lại một phiên bản thay đổi mã nguồn (giống như “lưu bản nháp”).
  • Branch: Nhánh phát triển song song, cho phép thử nghiệm hoặc thêm tính năng mới mà không ảnh hưởng tới nhánh chính (main/master).
  • Merge: Gộp các thay đổi từ một nhánh khác vào nhánh hiện tại.
  • Clone: Tạo bản sao của repo từ Git server về máy.
  • Pull: Tải và đồng bộ mã nguồn mới nhất từ remote về local.
  • Push: Gửi các commit từ local lên remote repository.

 

Các lệnh Git cơ bản

git init # Khởi tạo một repo Git mới
git clone <url> # Tải một repo từ Git server
git status # Kiểm tra trạng thái file (đã sửa, thêm, xoá)
git add <file> # Đánh dấu file để commit
git commit -m “Nội dung” # Tạo commit mới
git push # Đẩy thay đổi lên server
git pull # Lấy về thay đổi mới nhất
git branch # Xem các nhánh hiện có
git checkout -b <ten-nhanh> # Tạo nhánh mới và chuyển sang nhánh đó
git merge <ten-nhanh> # Gộp nhánh vào nhánh hiện tại

 

Ứng dụng thực tế

Trong quá trình thực tập và làm việc nhóm, Git được sử dụng để:

  • Quản lý mã nguồn frontend/back-end

  • Tạo nhánh cho từng chức năng (feature)

  • Hợp nhất code sau khi hoàn thiện

  • Theo dõi lịch sử làm việc từng người

Việc nắm vững Git là kỹ năng bắt buộc đối với lập trình viên, đặc biệt trong các môi trường phát triển chuyên nghiệp.

About the Author

Tấn Phước

View all author's posts

Leave a Comment

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

Bài viết khác

Flutter Form

FLUTTER FORM LÀ GÌ? Form trong Flutter là widget dùng để thu thập và kiểm tra dữ liệu người dùng nhập vào. Thường dùng khi cần nhập nhiều trường và muốn kiểm tra tính hợp lệ của dữ liệu. Sự khác nhau giữa Form + TextFormField và TextField thông thường TextField là widget đơn lẻ, […]

Flutter State Management

State Management trong Flutter là quá trình quản lý và thay đổi trạng thái của widget. Khi state thay đổi, widget sẽ được cập nhật lại để phản ánh thay đổi đó. Có nhiều phương pháp quản lý state trong Flutter, mỗi phương pháp phù hợp với các loại ứng dụng khác nhau.   Các […]

Flutter Layout

Flutter Layout là gì ? Trong Flutter, layout là quá trình sắp xếp các widget con trong không gian giao diện người dùng. Flutter cung cấp nhiều widget layout giúp xây dựng giao diện ứng dụng linh hoạt và dễ dàng. Việc sử dụng đúng các widget layout sẽ giúp bạn tạo ra giao diện […]

Flutter Widget

FLUTTER WIDGET LÀ GÌ? Widget là “viên gạch” để xây nên giao diện Flutter. Mọi thứ nhìn thấy trên app đều là widget: chữ, nút bấm, ô nhập liệu, hình ảnh… Phân loại cơ bản Widget 1. StatelessWidget – Giao diện tĩnh Không thay đổi sau khi được tạo. Dùng khi widget chỉ hiển thị thông tin, […]

Flutter Package

Trong quá trình phát triển ứng dụng Flutter, để tiết kiệm thời gian và tái sử dụng các tính năng có sẵn, lập trình viên thường sử dụng Flutter package – là các thư viện (thư viện mã nguồn mở hoặc do cá nhân viết) giúp thêm các chức năng mới vào ứng dụng mà […]

Agile – Phương pháp phát triển phần mềm linh hoạt

Agile là gì? Agile là một phương pháp phát triển phần mềm linh hoạt, nhấn mạnh vào khả năng thích nghi với thay đổi, làm việc theo nhóm, và phát triển sản phẩm theo từng phần nhỏ (iterative & incremental). Agile không phải là một quy trình cụ thể, mà là một tư duy (mindset) […]