Định nghĩa Git là gì?
Git là một hệ thống quản lý phiên bản phân tán (distributed version control system).
- Nhờ Git, bạn có thể tạo xây nên hệ thống đường ống dẫn "code" an toàn, ít xung đột.
- Nhờ Git, việc quản lý code và làm việc nhóm của developer trở nên đơn giản, thuận tiện hơn.
- Bạn có thể khắc các vấn đề về code lỗi rất đơn giản bằng cách đi tìm lại lịch sử từ hệ thống Git Flow.
Khác biệt giữa Git và các hệ quản lý source code VCS khác (thí dụ SVN) là Git tiếp cận theo hướng phân tán (distributed approach) trong khi các VCS khác tiếp cận theo hướng tập trung (centralized). Những lập trình viên thập kỷ 2000-2010 quá quen thuộc vào 2 thao tác cơ bản là Checkout và Checkin. Khi một Developer checkout một file thì các Developer sẽ không thể làm gì được cho đến khi Developer A "nhả" file đó ra (release). Đây là nhược điểm của các VCS truyền thống, Git giải quyết vấn đề này bằng cách cho phép checkout đồng thời. Đó là lý do vì sao Git linh hoạt hơn VCS và ngày càng trở nên phổ biến.
Điểm khác biệt lớn nhất của Git là gì? Đó là khả năng tách nhánh (branch). Git tương tự như một cái cây phân rễ và nhánh liên tục để phát triển nhanh hơn, xa hơn.
Một lời khuyên đối với lập trình viên chuyên nghiệp khi làm việc trên Git, đó là: Hãy quen với thao tác phân nhánh thường xuyên. Dù chỉ làm việc một mình, bạn vẫn nên “branch early, branch often”, đừng nên làm mọi thứ trên nhánh master.
Các bài viết chuyên đề:
- Vẽ bản đồ git với Gource Visualization
- Merge và Rebase khác nhau như thế nào?
- Nhặt nhạnh trái đào với Cherry-Pick
- Quản lý kho dữ liệu riêng với lệnh git Stash (tạm nhập, tái xuất)
- Merge squash - Nén cho phẳng, không phải "quất" hô biến lịch sử commit.
- Đã có Commit, tại sao vẫn phải Push?
- Patch file là gì?
- Những lệnh Git hữu ích nhất cho lập trình viên
Các bài viết khác: