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ì?

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.

Tổng quan
Git - Cài đặt Git trên Windows
Git - Cấu hình username và email
Git - thao tác thư mục
Git - Tạo Repository
Làm việc Branch
Git - Branch là gì? Branch master
Git - Lệnh tạo Branch
Git - Lệnh checkout branch
Git - Commit căn bản
Git - Lệnh merge branch - Xử lý conflict
Git - Xóa local branch
Tìm hiểu Commit
Git - Ba trạng thái Committed Staged Modified
Git - Mô hình dữ liệu kho chứa
Git - Amend, thay đổi commit cuối cùng
Git - Stash trở về trạng thái ban đầu
Git - Phân nhánh với Rebase
Làm việc với remote
Git - Thêm remote Repository
Git - Xóa remote repository
Git - Đổi tên remote repository
Git - Push data lên remote Repository
Git - Lưu thông tin đăng nhập với credential store