Xóa 1 branch trong GitHub không khó. Nếu chưa biết, mời bạn cùng Download.vn tìm hiểu cách xóa nhánh trên GitHub như thế nào nhé!
Branch - Nhánh là gì?
Các hệ thống kiểm soát phiên bản như Git dùng thuật ngữ branch như một “nhánh cây”. Mỗi nhánh bắt nguồn từ một nhánh khác, và có điểm gốc ở thân cây. Branch cho phép bạn tạo các đường lập trình riêng để có thể xử lý từng nhánh một mà không ảnh hưởng tới các phần khác trong dự án.
Sau khi sửa đổi, nhánh là khái niệm quan trọng nhất cần quan tâm trong kiểm soát phiên bản. Git cũng không ngoại lệ. Nó khuyến khích người dùng sử dụng nhiều nhánh nhất có thể. Ngoài ra, chúng còn rất dễ được xử lý khi cần.
Cách bạn dùng nhánh như thế nào phụ thuộc vào dự án đang làm việc. Bạn có thể chọn phân nhánh main theo mặc định và một branch develop riêng. Hoặc bạn có thể dùng nhánh mới cho mỗi tính năng và sửa nó.
Git nổi bật với tính năng phân nhánh siêu nhẹ. Nhờ nó, bạn có thể xử lý đồng thời các giai đoạn phát triển song song. Nhiều quy trình Git bao gồm có cả các nhánh dài hạn và tạm thời. Vì thế, xóa nhánh là tác vụ khá thường xuyên trong quá trình phát triển. Thỉnh thoảng, bạn còn cần xóa nhánh được chia sẻ từ máy chủ từ xa hoặc nhánh cục bộ.
Tại sao cần xóa nhánh trong Git?
Nếu lần đầu sử dụng Git, chắc chắn bạn sẽ tạo nhánh, rồi có lúc thấy nó không còn cần thiết nữa. Hoặc bạn thử nghiệm phân nhánh rồi muốn xóa sau đó. Hành động này ổn bởi phân nhánh trong Git là một quá trình nhẹ nhàng. Nó chạy nhanh và sử dụng không gian đĩa hiệu quả.
Vì thế, nhiều quy trình phát triển Git khuyến khích phân nhánh, thậm chí cho cả các nhiệm vụ nhỏ và ngắn. Ví dụ, lập trình viên thường tạo nhánh để sửa một lỗi. Điều này đúng ngay cả khi nó chỉ liên quan tới một tác giả thay đổi một dòng code trong một file.
Vì những lí do kể trên, tạo và xóa nhánh là hoạt động bạn cần hiểu rõ khi dùng Git.
Một mẫu Repository có nhánh
Các ví dụ dưới đây tham chiếu tới một repository mẫu với cấu trúc như sau:
$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit
Lưu ý mỗi nhánh cục bộ có một nhánh upstream tương ứng từ remote: origin.
Xóa một nhánh bằng dòng lệnh
Cú pháp lệnh cơ bản bản để xóa một nhánh:
git branch (-d | -D) [-r] <branchname>…
Dạng đơn giản nhất của lệnh xóa một nhánh cục bộ, cung cấp toàn bộ thay đổi của nó đã được hợp thành:
$ git branch -d dev
Bạn không thể xóa nhánh hiện đang hoạt động. Nếu làm như thế, bạn sẽ nhận được thông báo như sau:
error: Cannot delete branch 'main' checked out at '/tmp/sandbox'
Khi nhập đúng lệnh và mọi thứ đi đúng hướng, bạn sẽ nhận được thông báo xác nhận:
Deleted branch dev (was 1ae41e8).
Nếu xóa một nhánh chỉ có trong nội bộ, chưa hợp nhất thay đổi, bạn sẽ mất những thay đổi đó. Vì thế, Git sẽ từ chối xóa nhánh trong tình huống này, mặc định:
error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.
Khi thông báo lỗi này xuất hiện, bạn có thể buộc xóa bằng flag -D. Tuy nhiên, Git sẽ cho phép bạn xóa một nhánh cục bộ chưa hợp nhất nếu nó nằm trên máy chủ từ xa.
warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).
Cách xóa nhánh Git từ xa khác một chút. Bạn sẽ phải dùng lệnh git push cùng với flag -d để xóa. Sau đó, cung cấp tên của máy chủ từ xa (thường là origin) và tên nhánh:
$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev
Xóa nhánh cục bộ và từ xa bằng GitHub Desktop
Khác chương trình git dòng lệnh, app desktop của GitHub sẽ chỉ cho phép bạn xóa nhánh đang hoạt động. Bạn có thể thực hiện tác vụ này qua menu Branch, bằng cách xóa tùy chọn Delete và xác nhận nó.
GitHub Desktop sẽ không cho phép bạn xóa nhánh mặc định . Ví dụ: main-even dù bản thân Git có hỗ trợ. Nếu nhánh mặc định hiện đang hoạt động, app này sẽ tắt tác vụ menu.
Nếu đó là một nhánh từ xa, GitHub Desktop cung cấp tùy chọn xóa nó từ máy chủ từ xa.