Khái niệm cơ bản về Git Merging and Delete Branch

Basics Git Merging



Phân nhánh có thể giúp bạn giữ cho công việc của mình có tổ chức. Tuy nhiên, bạn cần có khả năng kết hợp công việc của mình để làm cho công việc trở nên mạch lạc. Nếu bạn không bao giờ hợp nhất và xóa các nhánh, lịch sử của bạn có thể trở nên quá hỗn loạn để hiểu.

Làm việc với Sáp nhập và Xóa chi nhánh

Trước tiên, chúng ta hãy tạo một nhánh chính, thêm một vài cam kết, tạo một nhánh mới có tên là tính năng, thêm một vài cam kết, sau đó quay lại để làm chủ và cam kết lại. Đây là các lệnh:







$mkdirtrò chơi của tôi
$đĩa CDtrò chơi của tôi
$git init
$quăng đi 'Quyết định thiết kế 1: Brainstarm' >>design.txt
$git thêm -ĐẾN
$git cam kết -NS 'C0: Dự án bắt đầu'
$quăng đi 'Quyết định thiết kế 2: Viết mã' >>design.txt
$git thêm -ĐẾN
$git cam kết -NS 'C1: Mã đã gửi'
$chi nhánh gitTính năng, đặc điểm
$thanh toán gitTính năng, đặc điểm
$quăng đi 'Thêm tính năng 1' >>feature.txt
$git thêm -ĐẾN
$git cam kết -NS 'C2: Tính năng 1'
$quăng đi 'Thêm tính năng 2' >>feature.txt
$git thêm -ĐẾN
$git cam kết -NS 'C3: Tính năng 2'
$thanh toán gitbậc thầy
$quăng đi 'Sửa đổi lại Master một lần nữa' >>design.txt
$git thêm -ĐẾN
$git cam kết -NS 'C4: Đã sửa đổi chính'

Các lệnh trên đã tạo ra tình huống sau:





Bạn có thể kiểm tra lịch sử của hai chi nhánh để xem họ có những cam kết gì:





$trạng thái git
Trên nhánh chính
không có gì để cam kết, thư mục làm việc sạch sẽ
$git log --một đường thẳng
2031b83 C4: Đã sửa đổi chính
1c0b64c C1: Mã đã gửi

$thanh toán gitTính năng, đặc điểm
Đã chuyển sang chi nhánh'Tính năng, đặc điểm'

$git log --một đường thẳng
93d220b C3: Tính năng2
ad6ddb9 C2: Tính năng1
1c0b64c C1: Mã đã gửi
ec0fb48 C0: Dự án bắt đầu

Bây giờ, giả sử bạn muốn chuyển tất cả các thay đổi từ nhánh tính năng sang nhánh chính của chúng tôi. Bạn sẽ phải bắt đầu quá trình từ đích của hợp nhất. Bởi vì chúng tôi muốn hợp nhất vào nhánh chính, bạn cần phải bắt đầu quá trình từ đó. Vì vậy, hãy kiểm tra nhánh chính:

$thanh toán gitbậc thầy
Đã chuyển sang chi nhánh'bậc thầy'

$trạng thái git
Trên nhánh chính
không có gì để cam kết, thư mục làm việc sạch sẽ

Bây giờ chúng ta hãy tạo hợp nhất:



$hợp nhất gitTính năng, đặc điểm

Nếu không có xung đột trong hợp nhất, bạn sẽ mở ra một trình soạn thảo văn bản với các nhận xét:

Hợp nhất chi nhánh'Tính năng, đặc điểm'

# Vui lòng nhập thông báo cam kết để giải thích lý do tại sao việc hợp nhất này là cần thiết,
# đặc biệt là nếu nó kết hợp phần ngược dòng cập nhật vào một nhánh chủ đề.
#
# Các dòng bắt đầu bằng '#' sẽ bị bỏ qua và thông báo trống sẽ bị hủy bỏ
# cam kết.

Bạn có thể sửa đổi các nhận xét hoặc chấp nhận các nhận xét mặc định. Kết quả hợp nhất sẽ hiển thị kết quả như sau:

Hợp nhất được thực hiện bởi'đệ quy'chiến lược.
feature.txt| 2++
1 tập tinđã thay đổi,2sự chèn(+)
tạo chế độ100644feature.txt

Sau khi hợp nhất, bạn có điều kiện sau:

Nếu bạn kiểm tra nhật ký, bạn sẽ thấy:

$trạng thái git
Trên nhánh chính
không có gì để cam kết, thư mục làm việc sạch sẽ

$git log --một đường thẳng
46539a3 C5: Hợp nhất nhánh'Tính năng, đặc điểm'
2031b83 C4: Đã sửa đổi chính
93d220b C3: Tính năng2
ad6ddb9 C2: Tính năng1
1c0b64c C1: Mã đã gửi
ec0fb48 C0: Dự án bắt đầu

Bạn đã hợp nhất các thay đổi thành công. Tuy nhiên, nhánh tính năng vẫn hiện diện.

$chi nhánh git -đến
Tính năng, đặc điểm
*bậc thầy

Bạn có thể xóa nó bằng lệnh sau:

$chi nhánh git -NSTính năng, đặc điểm

Nếu bạn kiểm tra bây giờ, bạn sẽ chỉ thấy nhánh chính:

$chi nhánh git -đến
*bậc thầy

Phần kết luận

Đảm bảo rằng bạn thường xuyên kiểm tra các nhánh không sử dụng và xóa chúng. Bạn muốn giữ cho kho lưu trữ của mình sạch sẽ để dễ điều hướng và dễ hiểu.

Đọc thêm: