Rẽ nhánh

Các nhánh branch thường được sử dụng để phát triển các tính năng độc lập với nhau hoặc nhánh được tạo ra để xử lý, giải quyết 1 lỗi của toàn dự án. Nhánh chính mặc định master được tạo ra khi bạn khởi tạo mới 1 kho repository.

Trong quá trình phát triển dự án, bạn cần phải phân các nhánh ra để dự án được phát triển nhanh và tránh việc thiếu các tính năng mới, hạn chế xung đột hoặc xử lý lỗi trong dự án. Sau khi hoàn tất công việc trên một nhánh, hãy hoàn tất chúng lại.

git-branches

Tạo 1 nhánh mới với tên là feature_x và chuyển ngay sang làm việc trên nhánh này:

git checkout -b feature_x

Chuyển lại làm việc trên nhánh master

git checkout master

Hoặc:

git checkout feature_x

Và, lệnh xóa một nhánh sau khi hoàn tất công việc trên nhánh đó:

git branch -d feature_x

Một nhánh mới mà bạn tạo ra, người khác sẽ không thấy được cho đến khi bạn đẩy những thay đổi này lên kho tổng chung của dự án:

git push origin [branch_name]

Cập nhật và tích hợp

Để cập nhật những thay đổi mới nhất trên kho tổng, sử dụng lệnh:

git pull

khi đó, thư mục làm việc của bạn sẽ tải xuống và hợp nhất với những thay đổi do các thành viên trong dự án thay đổi.

Để tích hợp nhánh bạn đang làm việc với 1 nhánh đang tồn tại (nhánh master chẳng hạn):

git merge [branch_name]

Ví dụ bạn đang làm việc trên nhánh feature_x và muốn cập nhật những thay đổi mới nhất trên nhánh master về nhánh feature_x. Bạn sử dụng lệnh:

git merge master

Trong cả hai trường hợp pullmerge, git sẽ tự động hợp nhất những thay đổi. Nhưng, không may là xảy ra xung đột mã nguồn trong quá trình hợp nhất này. Lúc này, bạn phải có trách nhiệm là hợp nhất những thay đổi xung đột này bằng tay bằng việc chỉnh sửa các file xung đột mà thông báo bởi chương trình git. Sau khi giải quyết xong xung đột, bạn cần đánh dấu chúng đã được xử lý xung đột và hợp nhất chúng lại bằng lệnh:

git add [filename]

Hoặc add tất cả những thay đổi:

git add -A

Trước khi hợp nhất các thay đổi, bạn có thể cần so sánh những thay đổi bằng lệnh:

git diff [source_branch] [target_branch]

About The Author