Git rebase

16 tháng 11, 2019 - 4888 lượt xem

Bản chất git rebase là chuyển commit gốc của một nhánh, từ commit này sang commit khác:

Git tutorial: Git rebase

Như trong hình trên:

- Với nhánh feature: Commit đầu tiên (commit gốc) của nó là commit số 1

- Khi thực hiện lệnh git-rebase: 

$ git checkout feature
$ git rebase master

thì commit gốc của nhánh feature sẽ là commit mà master đang trỏ tới

- Sau khi đã rebase, ta chỉ cần checkout sang nhánh master rồi thực hiện lệnh git merge với nhánh feature, khi đó Git chỉ việc di chuyển con trỏ master sang commit mới nhất trên nhánh feature

$ git checkout master
$ git merge feature

So với git merge thì git rebase sẽ cho một lịch sử git nhìn trông "đẹp mắt" hơn, vì các commit sẽ không còn bị phân nhánh nữa mà sẽ trở thành "linear" (trên cùng 1 flow, 1 timeline), tuy nhiên nên tránh dùng git rebase khi:

- bạn không hiểu mình đang làm gì :D

- khi đang làm việc nhóm: Không phải dev nào cũng xài git reabase như bạn trên local repo của họ --> khi push lên remote repo có thể sẽ xảy ra xung đột

Bình luận

avatar
Nguyễn Hàn Duy 2020-01-05 08:33:13.731517 +0000 UTC
Mọi người like ủng hộ mình nhé :D
Avatar
avatar
Nguyễn Hàn Duy 2020-01-05 09:40:53.179853 +0000 UTC
Like
Bùi Hiên
Bùi Hiên 2020-01-18 03:52:45.179355 +0000 UTC
Like mạnh ấy chứ
Avatar
avatar
Bùi Hiên 2020-01-18 03:51:36.388416 +0000 UTC
Viết như Hack
Nguyễn Hàn Duy
Nguyễn Hàn Duy 2020-01-18 03:52:58.118041 +0000 UTC
Lại chả :v
Avatar
avatar
Bùi Hiên 2020-05-16 10:40:23.210117 +0000 UTC
hihihi
Avatar
avatar
Bùi Hiên 2020-05-16 10:40:40.079389 +0000 UTC
Bui hiên
Avatar
* Vui lòng trước khi bình luận.
Ảnh đại diện
  +119 Thích
+119