Domain 4 · 8 phút đọc

Remote cơ bản: kết nối repo local với server

Git Remotes Basics

Git là phân tán nên repo trên máy bạn hoàn toàn độc lập. Nhưng để cộng tác collaborate với người khác, bạn cần một bản sao chung trên server mà mọi người cùng đẩy code lên và kéo về. Bản sao đó gọi là remote.

Repo local và repo remote

Khi bạn git init hay git clone, bạn có một repo local nằm trên ổ đĩa của mình — đủ lịch sử, commit được offline. Một repo remote là bản sao của repo đó nằm trên một server (GitHub, GitLab, Bitbucket, hoặc server nội bộ).

Điểm cần nhớ: remote chỉ là một repo Git khác mà bạn đã đăng ký một đường dẫn để trao đổi commit với nó. Git không tự động đồng bộ — bạn chủ động push để gửi và fetch/pull để nhận.

Remote là gì

Một remote gồm hai phần: một tên ngắn (alias) và một URL. Tên ngắn để bạn gõ cho gọn thay vì nhập URL dài mỗi lần. Tên remote mặc định khi clone là origin.

# Clone tự động tạo remote tên "origin" trỏ tới URL đã clone
git clone https://github.com/user/repo.git

URL có thể theo HTTPS (https://...) hoặc SSH (git@github.com:user/repo.git). Cùng một remote, chỉ khác cách xác thực.

Thêm và xem remote

Nếu bạn bắt đầu bằng git init (chưa có remote nào), bạn tự thêm bằng git remote add:

# Thêm remote tên origin trỏ tới repo trên GitHub
git remote add origin https://github.com/user/repo.git

# Xem danh sách remote kèm URL (fetch và push)
git remote -v

Kết quả git remote -v sẽ in ra tên remote cùng URL cho cả thao tác fetch lẫn push:

origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)

Một repo có thể có nhiều remote. Ví dụ phổ biến: origin là fork của bạn, còn upstream là repo gốc (sẽ học ở bài fork & Pull Request).

Các lệnh quản lý remote thường dùng

LệnhTác dụng
git remote add <ten> <url>Thêm một remote mới
git remote -vLiệt kê remote kèm URL
git remote rename <cu> <moi>Đổi tên remote
git remote remove <ten>Xóa một remote
git remote set-url <ten> <url>Đổi URL của remote (ví dụ HTTPS sang SSH)
git remote show <ten>Xem chi tiết: nhánh, tracking

Xóa remote không xóa code

git remote remove origin chỉ gỡ kết nối tới server, không đụng tới commit hay file trong repo local của bạn. Bạn vẫn giữ full lịch sử.

HTTPS hay SSH?

HTTPS dễ bắt đầu (chỉ cần username/token), hợp khi sau firewall. SSH tiện hơn khi làm việc lâu dài vì không phải nhập token mỗi lần — bạn cấu hình key một lần. Đổi qua lại bằng git remote set-url.

Trọng tâm thi

Remote = tên ngắn + URL trỏ tới một bản sao repo trên server. origin là tên mặc định khi git clone. Dùng git remote add để thêm, git remote -v để xem. Git không tự đồng bộ — bạn phải chủ động push/fetch.

Tóm tắt

  • Repo local nằm trên máy bạn; remote là bản sao trên server để cộng tác.
  • Remote gồm một tên ngắn (alias) và một URL (HTTPS hoặc SSH).
  • origin là tên remote mặc định mà git clone tự tạo.
  • git remote add <ten> <url> thêm remote; git remote -v xem danh sách kèm URL.
  • Một repo có thể có nhiều remote (ví dụ originupstream).
  • Git không tự đồng bộ — bạn chủ động push để gửi, fetch/pull để nhận.