Hướng dẫn thiết lập Local Git Remote trên máy chủ cá nhân

Phần mềm29 tháng 5, 2026·3 phút đọc

Bài viết chia sẻ cách thiết lập một Git remote trên máy chủ tại nhà sử dụng bare repository để tối ưu hóa quy trình làm việc. Giải pháp này giúp tăng tốc độ đẩy code, đảm bảo tính sẵn sàng khi máy chủ từ xa gặp sự cố và giảm sự phụ thuộc vào các nền tảng công nghệ lớn.

Hướng dẫn thiết lập Local Git Remote trên máy chủ cá nhân

Trong quá trình phát triển phần mềm, việc sử dụng nhiều kho chứa Git (Git remotes) khác nhau là một thực tế phổ biến để quản lý mã nguồn. Bài viết này sẽ hướng dẫn bạn cách thiết lập một remote trên máy chủ tại nhà (local remote) để tăng tốc độ làm việc và đảm bảo an toàn cho dữ liệu của bạn.

Tạo kho chứa Bare (Bare Repository)

Giả sử bạn có một dự án nằm trong thư mục /home/user/projects/cani trên máy chủ, nơi chứa mã nguồn và thư mục .git/. Để sử dụng thư mục này làm một remote mà không gây ra các xung đột lạ, chúng ta cần tạo một bản sao "bare" (kho chứa không có thư mục làm việc).

Trước tiên, hãy di chuyển đến thư mục bạn muốn lưu trữ các bare repo và chạy lệnh sau:

cd /home/user/bares
git clone --bare /home/user/projects/cani
# Lệnh trên sẽ tạo ra thư mục /home/user/bares/cani.git

Thêm Remote vào dự án

Sau khi đã có kho chứa bare, bạn có thể thêm nó như một remote vào dự án để thực hiện các thao tác đẩy (push) và kéo (pull). Có hai cách để thực hiện việc này tùy thuộc vào vị trí của bạn:

Trên cùng một máy: Nếu bạn đang làm việc trực tiếp trên chính máy chủ đó:

git remote add local /home/user/bares/cani.git

Từ một máy khác qua SSH: Nếu bạn muốn đẩy code từ máy tính cá nhân sang máy chủ tại nhà:

git remote add local ssh://USER@MACHINE:/home/user/bares/cani.git

Cấu hình nhánh mặc định

Để thuận tiện cho việc thao tác, bạn nên thiết lập nhánh main làm nhánh mặc định cho remote có tên là local:

git remote set-branches local main

Thực hiện Push và Pull

Bây giờ, mọi thứ đã sẵn sàng để bạn bắt đầu đẩy và kéo code tới local remote của mình.

Đẩy code (Push): Bạn có thể sử dụng lệnh sau để đẩy code:

# Đẩy trực tiếp mà không cần cấu hình trước
git push ssh://USER@MACHINE:/home/user/bares/cani.git

# Hoặc sử dụng tên remote đã cấu hình ở trên
git push local

Kéo code (Pull): Tương tự, việc kéo code từ remote đã cấu hình cũng rất đơn giản:

# Kéo nhánh cụ thể
git pull local main

# Kéo nhánh mặc định (nếu đã cấu hình `main` làm nhánh mặc định)
git pull local

Lưu ý rằng cú pháp ssh://USER@MACHINE có thể được thay thế bằng bất kỳ cấu hình SSH nào (Host) mà bạn đã thiết lập trong file ~/.ssh/config trên máy của mình.

Lợi ích của việc sử dụng Local Remote

Tác giả nhận thấy việc làm việc với một local remote mang lại trải nghiệm rất tích cực, đặc biệt khi các remote ngoài mạng (offsite remotes) có thời gian hoạt động (uptime) không cao.

Việc thiết lập một local remote giúp quy trình làm việc trở nên "thư giãn" hơn rất nhiều vì bạn không phải lo lắng về việc máy chủ từ xa có thể không sẵn sàng tại mọi thời điểm. Trong trường hợp cụ thể của tác giả, remote ngoài mạng là một máy chủ cộng đồng nhỏ thường xuyên bị quét dữ liệu quá mức bởi các bot của các tập đoàn lớn. Với giải pháp này, bạn có thể tận hưởng lợi ích của cả hai thế giới: một local remote để đẩy code với độ trễ gần như bằng không và một bản sao lưu được lưu trữ bởi bạn bè trong cộng đồng. Đáng chú ý nhất, giải pháp này hoàn toàn không liên quan đến các gã công nghệ lớn (Big Tech).

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗