Thật ra mình định làm mấy cái cao siêu cơ, nhưng hôm nay chán nên là viết cái gì anh em đều dùng được chắc là vui hơn.
OK phần một Git nền tảng bắt đầu, seri mang tính tuỳ hứng cao nên là trước mắt viết luồng git đã. còn lại thì có hứng thì viết tiếp.
Nếu các bạn, ừ từng làm lập trình thì chắc chắn là đã xem qua một trong hai thứ rồi, Git và SVN. SVN vẫn phần nào được dùng trong các công ty lâu năm đặc biệt là các công ty base nhật trước đây. Vậy thì chúng ta cùng bắt đầu phân tích xem sự khác biệt của hai hệ thống quản lý source code này là gì nhé. Iu Thương =)))
OK, đầu tiên phải làm rõ cả GIT và SVN đều là những hệ thống source version control . Có thể bạn chỉ dùng chúng như một hệ thống lưu trữ file kiểu dropbox nhưng bản chất của chúng là để quản lý phiên bản và cho phép bạn gọi lại các phiên bản file cũ trong trường hợp lỗi, một hệ thống lưu trữ chuyên sâu hỗ trợ backup, callback và phân luồng xử lý file cho nhiều người. Sự khác biệt chính chúng ta phải bàn đến ở SVN và GIT là về kiến trúc khác biệt hoàn toàn giữa chúng.
SVN xây dựng theo hướng centralization - client server. Repo trung tâm sẽ là lơi lưu vết các version code còn các máy client sẽ copy về mình một version cuối cùng của code mới nhất.
Cơ chế branch cũng như version của SVN tất cả đều là directory và chốt các version theo commit của user.
Git xây theo hướng decentralization - ông một bản repo tôi một bản repo, repo cho anh, repo cho em, repo cho tất cả mọi người. Phát phiếu xong ai nghịch gì thì nghịch.
Cơ chế cấu trúc của Git phức tạp hơn với dạng cây và trỏ root, blob, tag và một mớ hằm bà lằng cấu trúc. Tất cả trong file ẩn .git và bạn chỉ work với file từ branch.
Git clone .git về và hiển thị file dựa theo branch được trỏ. Cơ bản là một dạng ghép nối trunk branch chuẩn chỉ để tạo thành file code mà user tương tác lên. Lý do bạn clone code về xong phải checkout branch để load code nhánh muốn code đấy.