Tìm Hiểu Về Rebase Trong Git
Git Rebase Là Gì Git Rebase là một cách thuận biện để áp dụng lại những commit mới trong một branch trên đỉnh của một branch khác. Để hiểu hơn định nghĩa trên thì cách tốt nhất đó là bắt đầu sử dụng câu lệnh này. Sử Dụng Git Rebase Ví dụ repository của bạn có hai branch là master và topic. ...
Git Rebase Là Gì
Git Rebase là một cách thuận biện để áp dụng lại những commit mới trong một branch trên đỉnh của một branch khác.
Để hiểu hơn định nghĩa trên thì cách tốt nhất đó là bắt đầu sử dụng câu lệnh này.
Sử Dụng Git Rebase
Ví dụ repository của bạn có hai branch là master và topic. Trong branch topic bạn có các commit mới với tên là A, B và C mà branch master không có. Đồng thời lúc này branch topic cũng không có các commit E, F và G trên branch master. Bạn có thể tham khảo hình minh hoạ sau để dễ hình dung:
Lúc này sử dụng câu lệnh:
$ git rebase master topic
Sẽ áp dụng các commit mới trong branch topic trên commit mới nhất của branch A. Kết quả sau khi chạy câu lệnh sẽ như trong hình minh hoạ sau đây:
Nếu branch hiện tại bạn đang làm việc là topic thì bạn có thể bỏ qua tên branch này khi chạy câu lệnh trên:
$ git rebase master
Ngược lại branch hiện tại không phải là topic thì bạn cần sử dụng câu lệnh đầy đủ trước đó. Git lúc này sẽ tự động thực hiện câu lệnh git checkout topic trước khi thực hiện git rebase master.
Trong trường hợp master branch đã có một commit từ branch topic thì khi rebase Git sẽ bỏ qua commit này. Ví dụ như trường hợp commit A trên branch topic đã được merge vào branch master ở commit A' (lưu ý khi merge Git cũng sẽ tạo một commit mới):
Lúc này khi thực hiện rebase kết quả sẽ như sau:
Ngoài ra bạn cũng có thể bạn chạy câu lệnh rebase mà không cần sử dụng tên một branch nào như sau:
$ git rebase
Trường hợp này Git sẽ áp dụng việc rebase commit vào branch hiện tại và branch được sử dụng để Git rebase từ đó sẽ là branch được thiết lập mặc định khi merge (thường là master).
Kết Luận
Trên đây chúng ta đã tìm hiểu cơ bản về cách sử dụng rebase trong Git. Ở các bài học tiếp theo chúng ta sẽ tìm hiểu về một câu lệnh khác cũng được sử dụng khá thường xuyên đó là git merge.