Được rồi, tôi đang đóng góp cho một dự án trên github. Dự án trên github là upstream
, repo đã chia nhánh của tôi trên github là origin
, và local
repo trên máy tính của tôi.
git checkout -b feature
# Working on feature
git commit -a -m 'only commit on feature'
sau đó tôi gửi một yêu cầu kéo
git push origin master
Yêu cầu kéo được xem xét và một thay đổi không liên quan cần được thực hiện. Người khác thực hiện cam kết và hợp nhất vàoupstream/master
Bây giờ tôi được người upstream
bảo trì yêu cầu "đặt lại yêu cầu kéo của tôi trên đầu trang chủ"
Đây là câu chuyện của tôi (chèn hiệu ứng âm thanh của Luật và Trật tự) .....
Tôi đã không thực hiện bất kỳ thay đổi nào đối với yêu cầu kéo và nó vẫn giữ nguyên tính năng cam kết trên nhánh.
git checkout master
git fetch upstream
git checkout feature
git rebase master
=> "Current branch feature is up to date."
git push origin feature
=> "Everything up-to-date"
Tôi không hiểu. Làm thế nào điều này có thể xảy ra khi tôi biết rằng ai đó đã cam kết và hợp nhất với upstream/master
sau khi tôi đẩy yêu cầu kéo của mình lên origin/feature
?
Bất cứ ai có thể cho tôi biết những gì các thủ tục chính xác nên được trong tình huống này?
git push origin feature
gặp lỗi không tua đi nhanh, không đẩy được, v.v. Liệu git pull --rebase có giải quyết được lỗi này và đẩy đến nhánh tính năng của tôi không hay điều này sẽ gây ra sự cố cho người bảo trì và những người khác?