Đây là cách rebase
hoạt động:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Giả sử bạn có
---o----o----o----o master
\---A----B <my branch>
Hai lệnh đầu tiên ... cam kết kiểm tra git git rebase master
... kiểm tra chi nhánh thay đổi bạn muốn áp dụng cho master
chi nhánh. Các rebase
lệnh có các cam kết từ <my branch>
(không được tìm thấy trong master
) và reapplies họ người đứng đầu master
. Nói cách khác, cha mẹ của cam kết đầu tiên <my branch>
không còn là một cam kết trước đó trong master
lịch sử, mà là người đứng đầu hiện tại master
. Hai lệnh giống như:
git rebase master <my branch>
Có thể dễ dàng hơn để nhớ lệnh này vì cả hai nhánh "cơ sở" và "sửa đổi" đều rõ ràng.
. Kết quả lịch sử cuối cùng là:
---o----o----o----o master
\----A'----B' <my branch>
Hai lệnh cuối cùng ...
git checkout master
git merge <my branch>
... thực hiện hợp nhất chuyển tiếp nhanh để áp dụng tất cả các <my branch>
thay đổi vào master
. Không có bước này, cam kết rebase sẽ không được thêm vào master
. Kết quả cuối cùng là:
---o----o----o----o----A'----B' master, <my branch>
master
và <my branch>
cả tài liệu tham khảo B'
. Ngoài ra, từ thời điểm này, an toàn để xóa <my branch>
tham chiếu.
git branch -d <my branch>
--cached
khi kiểm tragit diff
. liên kết