top of page
Tìm kiếm

DÙNG MÁY TÍNH CŨ DỰNG GIT SERVER TẠI GIA



Dân lập trình đã đi làm cho các công ty hay tham gia các dự án đánh lẻ, chắc không ai lạ gì với các SCM (Source Code Management) như SVN hay GIT. Tôi cũng có cơ hội đã sử dụng qua hai loại này rồi, sau này tôi thích và dùng GIT nhiều hơn. Có nhiều công ty dùng dịch vụ lưu trữ “source code” của Bitbucket, một số nơi xài Github vì chi phí rẻ và cho bạn xài miễn phí ở một mức độ nào đó, nhưng nếu quy mô dự án của bạn phát triển và số dung lượng lưu trữ vượt quá giới hạn đó, bạn sẽ phải chấp nhận trả phí để sử dụng dịch vụ của họ. Điều này cũng hợp lý và chấp nhận được đối với các công ty startup về công nghệ đòi hỏi nhiều về teamwork.


Cá nhân tôi là solo developer, tôi chủ yếu làm việc một mình, chi phí để trang trải cho dịch vụ như vậy là khá nhiều so với khả năng hiện tại. May mắn là để sử dụng GIT cho việc quản lý “source code” (mã nguồn dự án), chúng ta cũng không nhất thiết phải sử dụng các dịch vụ đám mây (cloud service) như Bitbucket hay Github. Có nhiều bài viết trên mạng sẽ chỉ cho bạn biết cách dựng một Git Repository ngay trên PC hay laptop của bạn, nên tôi không đề cập về phần này nữa. Thực sự đây là một cách hiệu quả, tiết kiệm chi phí cho các solo developer như tôi.


Tuy nhiên có một vấn đề xảy ra, và tôi cũng đã suýt mất một lượng lớn thành quả lao động của mình đó là khi ổ đĩa cứng tôi dùng để lưu trữ Git Repository gặp sự cố, hư hỏng. Đó chính là nhược điểm của phương pháp này, vì máy tính của bạn không có hệ thống dự phòng (backup) như các “cloud service” của Bitbucket hay Github, nên khi ổ cứng lưu trữ gặp sự cố, khả năng trắng tay của bạn là rất lớn. Đó cũng là lý do khiến tôi nghĩ mình cần phải có thêm một nơi dự phòng, nghĩa là một cái GIT server tại gia.


Điều khiến tôi nghĩ đến phương án này là khi tôi nhìn vào cái PC cũ đang để không vì tôi không thể sử dụng nó vào việc phát triển game do VGA đã bị hư, tuy nhiên ba cái ổ cứng còn dư hàng trăm GB và bộ xử lý core i7 của nó đủ sức để thực thi công việc của một server backup dữ liệu. Tôi nghĩ đây là một cách hợp lý khi tận dụng máy móc cũ vào những việc có ích thay vì quăng nó một xó trong khi giá cả vật chất ngày càng leo thang. Cách dựng server tại gia cũng đơn giản, tôi chỉ đề cập đến phương hướng làm nhưng sẽ không đi cụ thể vào từng bước vì bạn sẽ dễ dàng tìm thấy các bài hướng dẫn chi tiết khi tìm kiếm bằng google hay các search engine khác.

  1. Đầu tiên là hai cái máy tôi đang sử dụng (PC và laptop) đều chạy trên hệ điều hành Window 10, và cùng truy cập vào cùng một router wifi. Trên PC cũ tôi tạo một “folder” để chứa tất cả các git repository cần backup. Sau đó tôi vào “properties” của “folder” này, chọn “Sharing” và bấm nút “Share” với các lựa chọn thông thường hoặc mở rộng với “Advance Sharing”. Vậy là đã có git server để xài chung cho các máy tính trong phòng.

  2. Bước tiếp theo là mở laptop lên (đảm bảo laptop đã cài ứng dụng GIT), mở một ứng dụng Window Explorer lên (bấm Window+E), vào mục Network, chúng ta sẽ thấy tên của PC, click vào đó sẽ có một cửa sổ hiện lên đòi usernamepassword để truy cập vào “folder” đã chia sẻ (share) trên PC. Chúng ta nên chú ý là sharing folder trên PC là nơi chứa git repository backup. Tiếp theo, tôi chép “git repository” trên laptop vào trong “folder” trên PC, bạn cũng có thể dùng lệnh “git clone –mirror” để làm chuyện này, tuy nhiên copy dữ liệu từ laptop vào usb, và chép từ usb qua PC sẽ nhanh hơn đặc biệt là với các project lớn có dung lượng trên 1GB. Hoàn tất các bước này tôi có hai “remote repo”, một trên laptop và một trên PC. Sau đó tôi thêm “remote repository” cho “git repository” trên laptop bằng lệnh “git remote add” với đường dẫn URL là đường dẫn tới “git repository” trong “folder” đã chia sẻ (share) trên PC.

  3. Việc cuối cùng là thiết lập để đồng bộ hai remote repository này bằng cách sử dụng hai lệnh “git fetch” và “git push -all” mỗi khi tôi có bất kỳ thay đổi gì trong project. Chi tiết ý nghĩa về hai lệnh này đã có rất nhiều bài giải thích rồi, chỉ lưu ý là thứ tự hai lệnh là “git fetch” trước rồi đến “git push -all”.


Ai sử dụng các ứng dụng Git GUI chịu khó tìm các tùy chọn phù hợp với hai cặp lệnh trên. Cá nhân tôi sử dụng Tortoise GIT thấy nó nhẹ nhàng và khá dễ sử dụng, SourceTree thì quá nặng và chậm, ai dùng máy cấu hình yếu sẽ hiểu nổi khổ khi sử dụng nó. Khi bạn hiểu rõ bản chất của các lệnh git thì việc sử dụng GUI sẽ giúp bạn tiết kiệm khá nhiều thời gian. Một điều nữa tôi rút ra được là nếu tôi có nhiều tiền để chi trả cho các dịch vụ như BitBucket hay Github, tôi sẽ chẳng bao giờ biết đến những điều tôi đã viết trong bài này.

Bài đăng gần đây

Xem tất cả

CẢM ƠN BẠN!

bottom of page