HocTotGit.io

Làm việc nhóm (Collaboration)
  • Thuật ngữ trong collaboration
  • Lý thuyết về remote repository
  • Cấu hình SSH
  • Sử dụng nhiều SSH keys cho nhiều tài khoản
  • Quiz
  • Git clone
  • Git push
  • Git fetch
  • Git pull
  • Quiz
  • Remote branches
  • Feature branch workflow
  • Fork repository và open source
  • Làm việc với nhiều remote repository
  • Quiz
  • Tại sao code review quan trọng?
  • Code review vs PRs vs Merge Request
  • Quiz
Liên kết
Blog
Hỗ trợ

Email: work.lamsun@gmail.com

Yêu thích nền tảng

Hãy chia sẻ ý kiến của bạn

HocTotGit.io

© 2026 HocTotGit.

Làm việc với nhiều Remote Repository

Trong các bài học trước, bạn đã làm quen với origin - tên gọi mặc định cho remote repository. Tuy nhiên, trong môi trường làm việc thực tế, đặc biệt là các dự án lớn hoặc mã nguồn mở, việc một local repository kết nối với nhiều remote cùng lúc là điều rất bình thường.

Bài học này sẽ giúp bạn hiểu cách quản lý và làm việc hiệu quả với nhiều remote repository.


1. Remote không chỉ có "origin"

Lệnh git remote add origin <url> mà bạn thường dùng chỉ đơn giản là đặt cái tên origin cho địa chỉ URL kia. Bạn hoàn toàn có thể đặt bất kỳ tên nào bạn muốn, ví dụ github, gitlab, company-server,...

Việc đặt tên gợi nhớ (semantic naming) giúp bạn dễ dàng nhận biết mục đích của remote đó:

  • origin: Thường là bản sao của bạn trên server (forked repo hoặc repo chính của bạn).
  • upstream: Thường dùng trong quy trình Forking để chỉ repo gốc của dự án (nơi bạn muốn đóng góp code vào).
  • staging / production: Dùng trong quy trình Deploy để trỏ tới các server môi trường tương ứng.

2. Kiểm tra danh sách Remote

Để xem dự án của bạn đang kết nối với những remote nào, hãy sử dụng lệnh:

git remote -v

Cờ -v (verbose) sẽ hiển thị chi tiết cả URL fetch (nơi lấy code về) và URL push (nơi đẩy code lên).

Kết quả ví dụ:

origin  https://github.com/your-username/my-project.git (fetch)
origin  https://github.com/your-username/my-project.git (push)

3. Các quy trình làm việc phổ biến

Dưới đây là hai kịch bản phổ biến nhất mà bạn sẽ cần thêm nhiều remote.

3.1. Quy trình Forking

Bài học trước đã giải thích chi tiết quy trình Forking, trong đó bạn đã thêm remote origin. Nhưng trong lúc bạn thực hiện thay đổi, bạn cần lấy những thay đổi mới nhất từ repository gốc về. Vì vậy, bạn cần thêm remote upstream để trỏ tới repository gốc.

Lúc này, bạn có 2 remote:

  • origin: Trỏ tới repo của BẠN (để bạn push code lên và tạo Pull Request).
  • upstream: Trỏ tới repo GỐC (để bạn kéo code mới nhất về, tránh bị lạc hậu).

Cách thực hiện:

# 1. Thêm remote upstream
git remote add upstream https://github.com/original-owner/repo-name.git

# 2. Kiểm tra lại
git remote -v
# Output sẽ có cả origin và upstream
# origin    https://github.com/your-username/repo-name.git (fetch)
# origin    https://github.com/your-username/repo-name.git (push)
# upstream  https://github.com/original-owner/repo-name.git (fetch)
# upstream  https://github.com/original-owner/repo-name.git (push)

3.2. Quy trình Deployment (Thực tế doanh nghiệp)

Trong các công ty, mã nguồn thường được triển khai lên nhiều môi trường khác nhau để kiểm thử trước khi đến tay người dùng thật. Git có thể được dùng để đẩy code trực tiếp lên các server này.

Ví dụ, bạn có thể cần cấu hình thêm 2 remote là staging (môi trường kiểm thử) và production (môi trường thật).

Cách thực hiện:

# Thêm remote cho môi trường Staging
git remote add staging https://git.heroku.com/my-app-staging.git

# Thêm remote cho môi trường Production
git remote add production https://git.heroku.com/my-app-production.git

Khi muốn deploy bản build mới lên staging, bạn chỉ cần chạy:

git push staging main

Tổng kết

Việc sử dụng nhiều remote giúp quy trình làm việc trở nên linh hoạt và chuyên nghiệp hơn. Hãy nhớ luôn dùng lệnh git remote -v để kiểm soát các kết nối của mình.

Và đó là tất cả những gì bạn đã được học cho chương này. Hãy cùng làm bài quiz để kiểm tra kiến thức nhé!

Tiếp theo: Quiz