Git là một hệ thống quản lý phiên bản phân tán, giúp theo dõi sự thay đổi của mã nguồn trong suốt quá trình phát triển phần mềm. Git cho phép nhiều người cùng làm việc trên một dự án mà không lo xung đột mã hoặc mất dữ liệu. Mỗi người làm việc với một bản sao của dự án, và sau đó có thể hợp nhất các thay đổi lại với nhau một cách dễ dàng.

Cách hoạt động của Git:
– Lưu trữ phân tán: Mỗi người dùng có một bản sao hoàn chỉnh của toàn bộ mã nguồn và lịch sử thay đổi. Điều này giúp giảm thiểu rủi ro mất dữ liệu và tăng tính linh hoạt khi làm việc nhóm.
– Commit: Mỗi khi người dùng thực hiện thay đổi và lưu (commit), Git sẽ ghi lại trạng thái của dự án ở thời điểm đó, tạo nên một điểm phục hồi mà người dùng có thể quay lại nếu cần.
– Branching và Merging: Git hỗ trợ mạnh mẽ việc tạo các nhánh (branch) cho phép người dùng phát triển các tính năng mới hoặc thử nghiệm mà không ảnh hưởng đến nhánh chính. Sau khi hoàn tất, nhánh có thể được hợp nhất (merge) với nhánh chính hoặc các nhánh khác.
– Làm việc offline: Vì mỗi người đều có một bản sao đầy đủ, họ có thể làm việc offline và sau đó đồng bộ (push/pull) thay đổi với kho chính khi có kết nối mạng.

Các lệnh Git thường dùng:
1. git init: Khởi tạo một repository Git mới.
2. git clone [url]: Sao chép một repository từ xa về máy cục bộ.
3. git add [file]: Thêm file vào danh sách chuẩn bị commit.
4. git commit -m “message”: Lưu lại các thay đổi kèm theo thông điệp mô tả.
5. git status: Kiểm tra trạng thái hiện tại của repository (các file đã được thay đổi nhưng chưa commit).
6. git push: Gửi các thay đổi từ repository cục bộ lên repository từ xa.
7. git pull: Lấy các thay đổi từ repository từ xa về repository cục bộ.
8. git branch: Liệt kê các nhánh hiện có, hoặc tạo một nhánh mới.
9. git checkout [branch]: Chuyển sang một nhánh khác.
10. git merge [branch]: Hợp nhất nhánh được chỉ định vào nhánh hiện tại.

Git giúp đảm bảo tính toàn vẹn của mã nguồn, hỗ trợ hợp tác nhóm và quản lý dự án một cách hiệu quả, đồng thời cho phép quay lại các phiên bản trước nếu cần thiết.

About the Author

Duy Khang

View all author's posts

Bài viết khác

Return first

Return first là gì Khi trong hàm gặp một trường hợp đặc biệt (như lỗi, dữ liệu không hợp lệ…), ta trả về kết quả ngay lập tức và kết thúc hàm. Lợi ích khi dùng Return First trong Go Code gọn, dễ đọc Ít phải thụt dòng. Đọc từ trên xuống dưới như một […]

RabbitMQ

RabbitMQ là gì ? RabbitMQ là một hệ thống Message Broker, cho phép các thành phần trong hệ thống giao tiếp với nhau bằng cách gửi và nhận các tin nhắn thông qua các hàng đợi. Các thành phần chính trong RabbitMQ Producer là nơi gửi tin nhắn vào RabbitMQ (có thể là một api […]

Naming convention

Naming convention là gì? Naming Convention – là một tập hợp các tiêu chuẩn được quy định sẵn dùng để biểu thị cho các thành phần: tên biến, tên hàm, kiểu dữ liệu,… Phong cách đặt tên phổ biến 1. Camel Case Camel Case là kiểu đặt tên con lạc đà. Quy tắc: Chữ cái đầu tiên được viết […]

Seed Data(Goose)

Seed Data là gì? Seed data là tập hợp các cậu lệnh sql hoặc đoạn code để đưa dữ liệu ban đầu vào CSDL. Mục đích Khởi tạo hệ thống với dữ liệu mặc định. Tạo dữ liệu test nhanh chóng. Hỗ trợ kiểm thử tự động (unit test, integration test). Tạo môi trường demo cho […]

Migration

Migration là gì? Migration là một cơ chế cho phép quản lý các thay đổi cấu trúc của cơ sở dữ liệu thông qua các file chứa câu lệnh định nghĩa (SQL hoặc code). Như là tạo bảng mới, thêm, sửa, xóa, cột, thêm index, tạo quan hệ giữa bảng Ưu điểm   Đồng bộ: Mọi […]

Ngôn ngữ lập trình Golang

Golang là gì? Go (hay còn gọi là Golang) là một ngôn ngữ lập trình được thiết kế dựa trên tư duy lập trình hệ thống. Go được phát triển bởi Robert Griesemer, Rob Pike và Ken Thompson tại Google vào năm 2007. Điểm mạnh của Go là bộ thu gom rác và hỗ trợ […]