Lưu ý: Nếu bạn đã có kiến thức rộng về rebase thì hãy sử dụng bên dưới một lớp lót để rebase nhanh.
Giải pháp:
Giả sử bạn ở trong nhánh làm việc của mình và bạn là người duy nhất làm việc trên nó.
git fetch && git rebase origin/master
Giải quyết mọi xung đột, kiểm tra mã của bạn, cam kết và đẩy các thay đổi mới đến chi nhánh từ xa.
~: For noobs :~
Các bước sau đây có thể giúp bất kỳ ai mới git rebase
và muốn làm điều đó mà không gặp rắc rối
Bước 1: Giả sử rằng không có cam kết và thay đổi nào được thực hiện trên YourBranch tại thời điểm này. Chúng tôi đang truy cập YourBranch.
git checkout YourBranch
git pull --rebase
Chuyện gì đã xảy ra? Kéo tất cả các thay đổi được thực hiện bởi các nhà phát triển khác làm việc trên chi nhánh của bạn và khởi động lại các thay đổi của bạn trên đầu trang.
Bước 2: Giải quyết bất kỳ xung đột nào xảy ra.
Bước 3:
git checkout master
git pull --rebase
Chuyện gì đã xảy ra?Kéo tất cả các thay đổi mới nhất từ chủ từ xa và khởi động lại chủ địa phương trên chủ từ xa. Tôi luôn giữ chủ từ xa sạch sẽ và sẵn sàng phát hành! Và, chỉ thích làm việc trên tổng thể hoặc chi nhánh địa phương. Tôi khuyên bạn nên làm điều này cho đến khi bạn nhận được sự thay đổi hoặc cam kết git. Lưu ý: Bước này không cần thiết nếu bạn không duy trì chủ cục bộ, thay vào đó bạn có thể thực hiện tìm nạp và khởi động lại chủ từ xa trực tiếp trên nhánh cục bộ. Như tôi đã đề cập trong bước duy nhất khi bắt đầu.
Bước 4: Giải quyết bất kỳ xung đột nào xảy ra.
Bước 5:
git checkout YourBranch
git rebase master
Chuyện gì đã xảy ra?Cuộc nổi loạn trên chủ xảy ra
Bước 6: Giải quyết mọi xung đột, nếu có xung đột. Sử dụng git rebase --continue
để tiếp tục rebase sau khi thêm các xung đột được giải quyết. Bất cứ lúc nào bạn có thể sử dụnggit rebase --abort
để hủy bỏ cuộc nổi loạn.
Bước 7:
git push --force-with-lease
Chuyện gì đã xảy ra? Đẩy các thay đổi vào YourBranch từ xa của bạn.--force-with-lease
sẽ đảm bảo liệu có bất kỳ thay đổi nào khác cho YourBranch từ các nhà phát triển khác trong khi bạn khởi động lại hay không. Điều này là siêu hữu ích hơn là lực đẩy. Trong trường hợp có bất kỳ thay đổi nào thì hãy tìm nạp chúng để cập nhật YourBranch cục bộ của bạn trước khi đẩy các thay đổi.
Tại sao tôi cần phải thay đổi? Để viết lại thông điệp cam kết trong YourBranch từ xa sau khi rebase thích hợp hoặc Nếu có bất kỳ xung đột nào được giải quyết? Sau đó, bạn cần đẩy các thay đổi bạn đã giải quyết trong repo cục bộ sang repo từ xa của YourBranch
Yahoo ...! Bạn đã thành công với việc nổi loạn.
Bạn cũng có thể đang xem xét:
git checkout master
git merge YourBranch
Khi nào và tại sao? Hợp nhất chi nhánh của bạn thành chủ nếu được thực hiện với các thay đổi của bạn và các nhà đồng phát triển khác. Điều này làm cho YourBranch cập nhật với chủ khi bạn muốn làm việc trên cùng một chi nhánh sau này.
~: (๑ơ ₃ ơ)♥ rebase :~