Yêu cầu Aug 16th, 2023 11:53 a.m. 360 2 5
  • 360 2 5
0

Cách để tránh mất code khi dùng Rebase thay cho Merge

Chia sẻ
  • 360 2 5

Dự án của mình có yêu cầu dùng rebase thay vì merge.
Tuy nhiên thi thoảng dùng rebase sẽ gây ra mất code, git tự động chọn code cũ thay vì code mới.
Mọi người cho mình hỏi tại sao, nếu dùng rebase thì nên áp dùng flow nào để tránh mất code ạ

Flow hiện tại mình hay dùng:

  1. checkout tạo nhánh mới feature từ develop
  2. sau khi code xong ở nhánh feature thì git add, git commit
  3. quay lại nhánh develop, pull origin develop
  4. checkout lại nhánh feature và git rebase develop, sau đó thì ko thấy báo conflict gì mà mất code luôn.

Mình cảm ơn!

Sep 14th, 2023 2:45 p.m.

Dự án của mình có yêu cầu dùng rebase thay vì merge.

Câu này hơi gây nhầm lẫn. Theo như flow bạn mô tả thì không phải dự án bắt dùng rebase thay merge nhé. Việc rebase ở bước 4 là để xử lý conflict nếu có trước khi open pull request thôi.

5 CÂU TRẢ LỜI


Đã trả lời Aug 16th, 2023 11:59 a.m.
0

rebase sẽ ghi đè lịch sử commit chứ bản thân các change vẫn giữ. bạn thử xem lại git log và các thay đổi xem. Hoặc bạn tạo merge request ở trên git server để check lại xem code mới có hay không

Chia sẻ
Đã trả lời Aug 16th, 2023 2:39 p.m.
0

nếu bạn đã commit thì :

  • dùng git reflog để xem lại lịch sử hành động.
  • dùng git reset --hard <id> là sẽ back về thời điểm commit đó.
Chia sẻ
Đã trả lời Aug 27th, 2023 5:03 p.m.
0

Bạn có thể thử lưu code vào bộ nhớ đệm bằng git stash sau đó pop ra và push lại sau khi pull origin từ develop, hoặc thay vì sử dụng lệnh pull có thể sử dụng git fetch trước để kiểm tra code pull về. Nếu không nhầm thì bạn đứng ở branch feature vẫn có thể dùng git pull origin development, lúc đó bạn sẽ xem được conflict của nó. Bạn có thể thử nhé

Chia sẻ
Đã trả lời Apr 26th, 2:52 a.m.
0
  1. vẫn ở nhánh feature, pull origin develop 4.vẫn ở nhánh feature, git rebase develop,
Chia sẻ
Đã trả lời Aug 18th, 2023 1:24 a.m.
-1

Bạn có thể show code và commit để chỉ rõ là bạn mất code nào và bạn có những commit thay đổi gì trong hai nhánh không?

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí