Vì vậy, đây là một quy trình công việc điển hình trên Github ...
Giống như một số dự án
->
ngã ba nó->
git clone https://github.com/you/someproject
.Chủ đề mở. Giống như những gì bạn thấy, nhưng thực hiện một số thay đổi.
Đã cẩn thận chỉ làm việc trong một
feature-branch
(git checkout -b some-feature
), bạn quyết định thực hiện yêu cầu kéo với ngườiupstream
bảo trì - sau khi đã đẩy bạnfeature-branch
đến ngã ba Github của bạn.Bảo trì, vì lý do gì, từ chối kéo.
Ví dụ .. đây là một yêu cầu kéo không thành công mà tôi đã gửi phù hợp với kịch bản trên. ..
Bây giờ thường , nếu nhà duy trì HAD sáp nhập kéo ... công việc sẽ được đơn giản ... Trên máy tính địa phương của tôi, tôi sẽ cam kết bất kỳ thay đổi cục bộ trên bất cứ điều gì feature-branch
tôi đang trên vào thời điểm đó ... git fetch --all
, git checkout master
, git pull upstream --ff-only
. Sau đó, phát lại các thay đổi của tôi trên đó, như mong muốn ...
NHƯNG...
Điều gì sẽ xảy ra nếu tôi quyết định rằng bạn muốn tiếp tục thực hiện các thay đổi đối với ngã ba của mình, vô tận ... nhưng vẫn muốn có thể theo dõi + hợp nhất các thay đổi xảy ra upstream
? Thông thường, tôi sẽ xóa các chi nhánh tính năng, và đi trên con đường của tôi .. Làm thế nào bạn có thể duy trì một master
chi nhánh có thể được thượng nguồn sáp nhập, nhưng vẫn duy trì các tính năng của ngã ba của bạn trong khi được "vĩnh viễn tách" từ upstream
's HEAD
?