Lệnh git merge

Lệnh git merge sử dụng để gộp nhánh, gộp nhánh này vào nhánh khác. Khi gộp nhánh git thường căn cứ vào 3 commit, để tạo ra một commit gộp, nếu có xung đột cần xử lý (xem trong Video cơ bản về git)

Giả sử có hai nhánh master và beta như sau:

git

Để gộp các commit trong nhánh beta vào nhánh master thì chuyển làm việc trên master và thực hiện lệnh:

git merge beta

Sơ đồ và kết quả của lệnh git merge như hình sau:

git

Các Video: Sử dụng Git, GitHub

Lệnh git rebase

Lệnh git rebase cũng gộp các commit từ nhánh này vào nhánh khác, bằng cách xây dựng lại các commit base kế thừa từ nhánh khác và viết lại lịch sử commit sau các commit cơ sở mới.

Ví dụ, để gộp nhánh beta vào master, đứng ở master thực hiện lệnh

git rebase beta
git

Như trên hình trên, trước thời điểm rebase, nhánh master có các commit cơ sở giống với nhánh beta đó là: C1, C2, C2

Lệnh git rebase sẽ đưa toàn bộ nhánh beta làm base của master, do vậy các commit tiếp theo sau commit cơ sở ban đầu của master sẽ được nối tiếp vào, trong đó có thay đổi lại lịch sử commit, cũng sử lý xung đột giữa commit B2 và D1 để viết lại commit D1 thành D1'

Tương tự, nếu gộp master vào beta thì sơ đồ có thể là:

git

Đăng ký nhận bài viết mới