Remote trong Git là gì và origin có nghĩa là gì?
Đáp án mẫu
Remote là một URL có tên của một bản sao khác của repository, thường nằm trên các nền tảng như GitHub hay GitLab. Nó cho phép bạn lấy commit của đồng đội và đẩy commit của bạn lên.
origin chỉ là tên mặc định mà Git đặt cho remote mà bạn đã clone. Nó không có ý nghĩa đặc biệt: bạn có thể đổi tên, và một repository có thể có nhiều remote.
git remote -v
git remote add upstream https://github.com/org/project.git
git remote rename origin github
git remote set-url origin [email protected]:me/project.git
Sau khi fetch, Git lưu các branch của remote ở local dưới dạng remote-tracking branch như origin/main. Đó là các bookmark chỉ đọc cho biết remote ở đâu vào lần fetch gần nhất.
Một cách dùng nhiều remote phổ biến là fork: origin là fork của bạn còn upstream là project gốc, nên bạn pull bản cập nhật từ upstream và push lên origin.
Hãy nhớ remote không có gì thần bí; nó chỉ là một Git repository khác mà bạn giao tiếp qua HTTPS hoặc SSH.
Ý chính
- Remote là URL có tên tới một bản sao khác của repository
- origin chỉ là tên mặc định khi clone
- Remote-tracking branch như origin/main là bookmark ở local
- Fork thường dùng origin cộng upstream
Câu hỏi nối tiếp thường gặp
- Làm sao đổi URL của remote từ HTTPS sang SSH?
- origin/main và main khác nhau thế nào?
Lỗi thường gặp
- Nghĩ rằng origin là từ khóa đặc biệt
- Tin rằng origin/main tự cập nhật mà không cần fetch