Sự khác biệt giữa origin
và upstream
trên GitHub là gì?
Khi một git branch -a
lệnh được thực hiện, một số nhánh có tiền tố là origin
( remotes/origin/..
) trong khi các nhánh khác có tiền tố là upstream
( remotes/upstream/..
).
Sự khác biệt giữa origin
và upstream
trên GitHub là gì?
Khi một git branch -a
lệnh được thực hiện, một số nhánh có tiền tố là origin
( remotes/origin/..
) trong khi các nhánh khác có tiền tố là upstream
( remotes/upstream/..
).
Câu trả lời:
Điều này nên được hiểu trong ngữ cảnh của các nhánh GitHub (nơi bạn rẽ nhánh một repo GitHub trên GitHub trước khi nhân bản ngã ba đó cục bộ).
upstream
thường dùng để chỉ repo gốc mà bạn đã chia hai downstream
’và‘ upstream
’ " để biết thêm về upstream
hạn)origin
là ngã ba của bạn: repo của riêng bạn trên GitHub, bản sao của repo gốc của GitHubTừ trang GitHub:
Khi một repo được nhân bản, nó có một điều khiển từ xa mặc định được gọi là
origin
fork của bạn trên GitHub, chứ không phải repo ban đầu mà nó được rẽ nhánh.
Để theo dõi repo ban đầu, bạn cần thêm một điều khiển từ xa khác có tênupstream
git remote add upstream git://github.com/<aUser>/<aRepo.git>
(với aUser/aRepo
tham chiếu cho người tạo và kho lưu trữ ban đầu, mà bạn đã rẽ nhánh)
Bạn sẽ sử dụng upstream
để tìm nạp từ repo ban đầu (để giữ bản sao cục bộ của bạn đồng bộ với dự án bạn muốn đóng góp).
git fetch upstream
( git fetch
một mình sẽ tìm nạp origin
theo mặc định, đây không phải là điều cần thiết ở đây)
Bạn sẽ sử dụng origin
để kéo và đẩy vì bạn có thể đóng góp vào kho lưu trữ của riêng bạn.
git pull
git push
(một lần nữa, không có tham số, 'origin' được sử dụng theo mặc định)
Bạn sẽ đóng góp trở lại upstream
repo bằng cách yêu cầu kéo .
upstream
nói chung: stackoverflow.com/questions/2739376/