Sự khác biệt giữa nguồn gốc và ngược dòng trên GitHub là gì?


Câu trả lời:


804

Đ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ộ).

  • upstreamthường dùng để chỉ repo gốc mà bạn đã chia hai
    (xem thêm " Định nghĩa về‘ downstream’và‘ upstream " để biết thêm về upstreamhạ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 GitHub

Từ 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à originfork 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/aRepotham 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 fetchmột mình sẽ tìm nạp origintheo 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 upstreamrepo bằng cách yêu cầu kéo .

ngã ba và thượng nguồn


11
Nó cũng giúp biết những gì upstreamnói chung: stackoverflow.com/questions/2739376/
Khăn

2
@MaxRydahlAndersen đúng, nhưng tôi thích sử dụng Git mà không có trình bao bọc, vì vậy tôi sẽ giữ quy ước đó (ngược dòng so với nguồn gốc) cho đến bây giờ.
VonC

22
Cho đến nay, lời giải thích tốt nhất về cách thức hoạt động của dĩa mà tôi đã thấy. Bạn nhận được upvote của tôi.
CodeChimp

9
Công việc tuyệt vời về thị giác. Rất thẳng về phía trước và câu trả lời dễ hiểu. Đây chính xác là những gì tôi đang tìm kiếm.
tayopi

1
@iamrudra nếu git remote -v hiển thị cùng một url cho nguồn gốc và ngược dòng, thì có, bạn đang đẩy đến cùng một repo từ xa.
VonC
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.