Tất tần tật về GIT #4: Phân biệt giữa Git Merge và Git Rebase
HTML-код
- Опубликовано: 27 авг 2024
- - Group đặt câu hỏi, thảo luận: / 529219281542476
- Chào mọi người đây là chuỗi bài mình chia sẻ về GIT. Hôm nay mình hướng dẫn mọi người:
Phân biệt giữa Git Merge và Git Rebase
Hy vọng giúp ích nhiều cho mọi người.
Danh sách video: • React Native
Mỗi nỗ lực có kỷ luật đều có phần thưởng xứng đáng - Jim Robn
ôi quá dễ hiểu. Ít view ít like nhưng lại rất hiệu quả. Cảm ơn bạn nhiều lắm
Rất dễ hiểu
Thanks anh, quá bổ ích!
Cảm ơn bạn nhiều nhé, quá bổ ích
Cám ơn bạn nhiều. Có ích lắm bạn ơi.
hay, cảm ơn anh
Mình nghỉ merge khó review là do các bạn không tạo merge request. Khi tạo mr mình thấy rất dễ review kết hợp gitlab web page và ide.
cho em hỏi là sao không rebase từ nhánh main2 luôn mà phải rebase từ beta2 ạ, có sự khác nhau khi rebase từ 2 nhánh phải không ạ
@Trần Tâm Nguyên, cho mình hỏi xíu v sau khi merge hoặc rebase thì code sẽ giống nhau đúng ko nhỉ, chỉ khác history commit thôi?
đúng rồi bạn code giống nhau, chỉ khác thứ tự commit (history commit)
20:38 tại sao lại không dùng được git push mà lại phải thêm option --force vậy a
Sau khi rebase, lịch sử commit local trên nhánh feature đã thay đổi và conflict so với nhánh feature trên remote, vì thế ta cần push force để ghi đè toàn bộ cây Git trên branch featue.
bây giờ đã biết git là gì rồi
Cho mình hỏi là mình có 1 case như thế này .
Mình muốn dùng git rebase để gộp tất cả các commit của một branch thành một commit thì dùng git rebase -i HEAD-10
Thì ở terminal sẽ hiện 10 commit để mình chọn những commit nào sẽ pick or xoá
Nhưng câu lệnh rebase commit ở trên Sẽ hiện những commit của branch khác những commit này mình ko muốn hiện lên sẽ ảnh hưởng đến fix conflict thì sẽ sử dụng câu lệnh git nào vậy
khi bạn gộp commit bạn đứng ở nhánh đó thì nó sẽ ko hiển thị commit của nhánh khác mà chỉ là hiển thị 10 commit bạn chuẩn bị gộp
@@trantamnguyen0 mình vẫn đứng ở nhánh đó để rebase vẫn hiện commit của nhánh khác thì làm có cách nào để ko hiện commit những nhánh khác ko vậy
@@phutranhuu9649 Mình mới đẩy video hướng dẫn cách gộp đó bạn, bạn xem thử có thắc mắc gì hok nha
@@trantamnguyen0 ví dụ như thế này mình có 1 project trên gitlap trên đó có 10 người code và commit thường xuyên nên ở branch của họ và của mình khi mình chỉ mình tôi commit thôi . Sau đó mình dùng git rebase 10 cái commit thì nó sẽ hiện 10 cái commit mới nhất có lẩn lộn commit của các branch khác và điều đó thì mình ko muốn , vậy có cách nào chỉ hiện commit của branch mình chỉ định thôi
@@phutranhuu9649 ý bạn là 1 nhánh của bạn đang có nhiều người commit và lúc gộp commit bạn chỉ muốn hiển thị những commit của bạn, cái này thì hiện tại mình chưa biết có lệnh nào ko (để có gì mình tìm hiểu thêm), còn lần sau để bạn tránh trường hợp này thì mỗi lần làm 1 công việc bạn tách nhánh ra riêng 1 mình bạn làm, sau khi làm xong thì bạn gộp commit trên nhánh của bạn rồi bạn mới merge tới nhánh chung
ví dụ mình đứng ở master mà rebase với branch khác thì sẽ thế nào nhỉ ad??
khi đó nó sẽ lấy "nhánh khác" của bạn làm cơ sở (tức là giữ nguyên hết tất cả commit trên nhánh đó), bên nhánh master có bao nhiêu commit mới hơn so với "nhánh khác" của bạn thì nó sẽ đưa mấy commit đó lên đầu "nhánh khác" đó (khi đó "nhánh khác" của bạn sẽ có thêm commit mới từ nhánh master)
@@trantamnguyen0 chỗ nay ad nói ngược đúng không nhỉ. Đứng ở master rebase nhánh khách thì nhánh master sẽ có thêm commit từ nhánh khác và nhánh khác giữ nguyên chứ nhỉ ?
@@trungkiennguyen7095 đúng rồi bạn, trong video mình nói đứng từ nhánh beta rebase nhánh main cũng giống ý bạn nói mà, ở đây bạn đứng từ nhánh main rebase thì nó ngược lại