Gần đây mới biết một tính năng rất thú vị trên Gitlab là cho phép đồng bộ mã nguồn với các repo ở các nền tảng khác nhau như Github, Bitbucket. Dựa vào tính năng này có thể giúp ta lưu trữ được mã nguồn cùng lúc ở nhiều nơi mà không tốn nhiều công. Việc lưu mã nguồn ở nhiều nơi có 1 lợi thế rất lớn là chẳng may nền tảng nào phát sinh vấn đề như anh Github thi thoảng lại die thì vẫn có thể chuyển ngay qua nền tảng khác để sử dụng.
Bài này nhằm mục đích note lại cách lấy mã nguồn theo tag với Git. Ví dụ ở đây tôi có dự án koa-log4js có được release với các tags:
Đây là mô tả về GIT mà chủ nhân của nó - ông Linus Torvalds đã viết khi công khai mã nguồn. Cụ thể bài này được copy lại từ Github.
Đôi lúc ta cần phải sử dụng các repo khác như là một module của dự án hiện tại, nhưng ta lại muốn quản lý nó riêng biệt giống như việc sử dụng các trình quản lý gói như npm chẳng hạn. Lúc này ta có thể sài git submodule để quản lý các module từ các repo khác. Ví dụ, blog của mình được xây dựng với theme tranquilpeak và mình cần đưa theme này vào thư mục themes của dự án.
git worktree cho phép ta có thể sử dụng cùng lúc nhiều nhánh của repo trong cùng một thư mục dự án. Ví dụ, blog của mình được xây dựng với Hugo, trong thư mục blog của mình có thư mục public là thư mục chứa các file được dịch ra từ mã nguồn blog. Còn ở phía repo trên Github, mình có 2 branch là dev lưu mã nguồn và master lưu các file chạy.
Gần đây mới được tiếp xúc với git-flow thấy cách làm việc hay quá, muốn chia sẻ lại đôi chút. Về cơ bản git-flow là một tập hợp các lệnh mở rộng cho git nhằm hỗ trợ cho quy trình làm việc hiệu quả hơn.