Học Git - Git căn bản, Git là gì?

Khó khăn nhất trong phát triển dự án phần mềm là làm sao để quản lý mã nguồn thật tốt. Ví dụ khi bạn sửa một file vào ngày thứ 2 đầu tuần, vào ngày thứ 3 bạn cũng có một số chỉnh sửa, nhưng sau đó bạn nhận thấy cần phải sử dụng lại code của ngày thứ 2 thì thông thường đó là điều không thể, trừ khi bạn backup lại mã nguồn đó. Vấn đề này sẽ được giải quyết dứt điểm dựa vào Git, một hệ thống quản lý mã nguồn phân tán tốt nhất hiện nay. 

# Git là gì?

Bài viết được đăng tại freetuts.net

Git là một phần mềm, hệ thống quản lý mã nguồn phân tán. Ban đầu Git được phát triển phục vụ cho Linux nhưng bây giờ bạn có thẻ sử dụng được nó trên cả Windows. Với Git bạn có thể lưu lại lịch sử và trạng thái của các file trong dự án, sau đó bạn có thể rollback về một lịch sử bất kì mà không cần phải backup lại.

Git sử dụng mô hình phân tán và điều này hoàn toàn ngược với SVN hoặc CSV, mỗi nơi lưu trữ source ta gọi là 1 repo (repository), các lập trình viên sẽ tạo một repo tại máy của mình. Câu hỏi đặt ra là nếu user nào cũng có repo riêng thì việc đụng độ code khi upload mã nguồn lên repo chính thì sao? Điều này hoàn toàn được giải quyết bởi Git sẽ cảnh báo và giúp các lập trình viên biết có sự đụng độ code (conflick) và sẽ yêu cầu họ chỉnh sửa và thay đổi trạng thái hết đụng độ.

Thông thường ta cần kết hợp với một dịch vụ lưu trữ mã nguồn trực tuyến như Github (repo chính), tại đây các thành viên sẽ dùng lệnh để đẩy dữ liệu từ máy tính của cá nhân họ lên Github, điều này hoàn toàn an toàn và bảo mật bởi mỗi repo của các lập trình viên đều là bản sao thật của repo trên github, vì vậy khi server bị down thì các thành viên vẫn có mã nguồn backup trên máy tính của họ.

# Giới thiệu series học Git

Trong bài này chủ yếu mình muốn giới thiệu với các bạn khái niệm Git là gì, đồng thời cũng chia sẻ những thông tin chi tiết hơn của series này.

Đây là series tự học Git dành cho người mới bắt đầu. Series này sẽ cung cấp cho các bạn kiến thức về cách quản lý mã nguồn trong thực tế thông qua Git, học xong series này mình đảm bảo bạn sẽ tự tin hơn khi đi xin việc bởi hầu hết các công ty tuyển dụng đều đưa Git vào giống như là một kỹ năng cần phải có.

Series cũng có tham khảo một số trang web tiếng Anh khác.