OK, tôi nghĩ rằng đây là một kịch bản git đơn giản, tôi còn thiếu gì?
Tôi có một master
chi nhánh và một feature
chi nhánh. Tôi làm một số công việc master
, một số feature
và sau đó một số nữa master
. Tôi kết thúc với một cái gì đó như thế này (thứ tự từ điển ngụ ý thứ tự cam kết):
A--B--C------F--G (master)
\
D--E (feature)
Tôi không có vấn đề gì để git push origin master
giữ cho master
cập nhật từ xa , cũng như với git push origin feature
(khi bật feature
) để duy trì một bản sao lưu từ xa cho feature
công việc của tôi . Cho đến bây giờ, chúng tôi tốt.
Nhưng bây giờ tôi muốn nổi feature
loạn trên đỉnh của các F--G
cam kết trên chủ, vì vậy tôi git checkout feature
và git rebase master
. Vẫn tốt. Bây giờ chúng tôi có:
A--B--C------F--G (master)
\
D'--E' (feature)
Vấn đề: thời điểm tôi muốn sao lưu phần khởi động mới được feature
phân nhánh git push origin feature
, lực đẩy bị từ chối vì cây đã thay đổi do việc khởi động lại. Điều này chỉ có thể được giải quyết với git push --force origin feature
.
Tôi ghét sử dụng --force
mà không chắc chắn tôi cần nó. Vì vậy, tôi cần nó? Liệu cuộc nổi loạn có nhất thiết ngụ ý rằng kế tiếp push
nên là ưu tiên --force
?
Chi nhánh tính năng này không được chia sẻ với bất kỳ nhà phát triển khác, vì vậy tôi không có vấn đề de facto với việc đẩy mạnh vũ lực, tôi sẽ không để mất bất kỳ dữ liệu, câu hỏi là khái niệm hơn.