Hướng dẫn

Cách xóa một nhánh trong Git cục bộ và từ xa

Xóa chi nhánh trong GitHub không khó. Nếu bạn chưa biết hãy cùng hatienvenicevillas.com.vn tìm hiểu nhé cách xóa chi nhánh trên GitHub thế nào!

Chi nhánh – Chi nhánh là gì?

Các hệ thống kiểm soát phiên bản như Git sử dụng thuật ngữ nhánh như một “nhánh cây”. Mỗi nhánh bắt nguồn từ nhánh khác, và có nguồn gốc của nó ở thân cây. Branch cho phép bạn tạo các dòng lập trình của riêng mình để bạn có thể xử lý từng nhánh một mà không ảnh hưởng đến các phần khác của dự án.

Sau khi sửa đổi, rẽ nhánh là khái niệm quan trọng nhất cần xem xét 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 càng nhiều nhánh càng tốt. Ngoài ra, chúng rất dễ dàng xử lý khi cần thiết.

Cách bạn sử dụng nhánh phụ thuộc vào dự án bạn đang thực hiện. Bạn có thể chọn phân nhánh chủ yếu theo mặc định và một chi nhánh phát triển, xây dựng riêng. Hoặc bạn có thể sử dụng một nhánh mới cho từng tính năng và sửa chữa nó.

Git nổi bật với khả 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 được bao gồm có cả nhánh vĩnh viễn và tạm thời. Do đó, việc xóa các nhánh là một công việc khá phổ biến trong quá trình phát triển. Đôi khi, bạn thậm chí có thể cần phải xóa một nhánh được chia sẻ khỏi một máy chủ từ xa hoặc một nhánh cục bộ.

Tại sao lại xóa chi nhánh trong Git?

Nếu bạn đang sử dụng Git lần đầu tiên, chắc chắn bạn sẽ tạo một nhánh và sau đó thấy nó không còn cần thiết nữa. Hoặc bạn thử nghiệm với phân nhánh và muốn xóa nó sau. Điều này là tốt vì 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ả.

Do đó, nhiều quy trình phát triển Git khuyến khích phân nhánh, ngay cả đối với các nhiệm vụ nhỏ và ngắn. Ví dụ, các lập trình viên thường tạo các nhánh để sửa một lỗi. Điều này đúng ngay cả khi nó chỉ liên quan đến việc tác giả thay đổi một dòng mã trong tệp.

Vì những lý do trên, việc tạo và xóa các nhánh là một hoạt động bạn cần hiểu khi sử dụng Git.

Mẫu kho lưu trữ phân nhánh

Các ví dụ dưới đây đề cập đến kho lưu trữ mẫu có cấu trúc sau:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Lưu ý rằng mỗi nhánh cục bộ có một nhánh ngược dòng tương ứng từ từ xa: xuất xứ.

Xóa một nhánh bằng dòng lệnh

Cú pháp lệnh cơ bản để xóa một nhánh:

git branch (-d | -D) [-r] <branchname>…

Dạng lệnh đơn giản nhất để xóa một nhánh cục bộ, cung cấp tất cả các thay đổi của nó đã được hợp nhất:

$ git branch -d dev

Bạn không thể xóa chi nhánh hiện đang hoạt động. Nếu bạn làm vậy, bạn sẽ nhận được thông báo sau:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Khi bạn nhập đúng lệnh và mọi thứ đang đ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 bạn xóa một nhánh chỉ trong nội bộ, mà không hợp nhất các thay đổi, bạn sẽ mất các thay đổi đó. Vì vậy, Git sẽ từ chối xóa nhánh trong tình huống này, theo 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 cờ – DỄ DÀNG. Tuy nhiên, Git sẽ cho phép bạn xóa một nhánh cục bộ chưa được 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 một nhánh Git từ xa có một chút khác biệt. Bạn sẽ phải sử dụng lệnh git push với cờ -d xóa. Sau đó, cung cấp tên của máy chủ từ xa (thường là nguồn gốc) và tên chi nhánh:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Xóa các chi nhánh cục bộ và từ xa với GitHub Desktop

Không giống như chương trình git dòng lệnh, ứng dụng dành cho máy tính để bàn 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 việc này thông qua menu Chi nhánh, bằng cách loại bỏ tùy chọn Xóa bỏ và xác nhận nó.

GitHub Máy tính để bàn sẽ không cho phép bạn xóa nhánh mặc định. Ví dụ, main-mặc dù bản thân Git cũng hỗ trợ nó. Nếu nhánh mặc định hiện đang hoạt động, ứng dụng này sẽ tắt tác vụ menu.

Nếu đó là một chi nhánh từ xa, GitHub Desktop cung cấp tùy chọn xóa nó khỏi máy chủ từ xa.

Xóa chi nhánh từ xa

Xóa chi nhánh trong Git với GitKraken

GitKraken hiển thị các nhánh cục bộ và từ xa của kho lưu trữ trong thanh bên bên trái. Bạn phải xóa từng cái riêng biệt.

Di chuột qua tên chi nhánh thích hợp và nhấp vào menu tác vụ Chi nhánh (biểu tượng có 3 dấu chấm). Từ menu này, hãy chọn Xóa bỏ :

GitKraken xóa nhánh Git cục bộ

Bạn sẽ thấy một thông báo xác nhận đây là một hành động phá hoại. Bạn có thể xác nhận rằng bạn muốn tiếp tục với. cái nút Xóa bỏ.

Thông báo xóa nhánh trong Git

Phản hồi đối với hành vi mặc định của chương trình dòng lệnh Git. Đầu tiên bạn phải chuyển sang một nhánh khác, thay thế cho nhánh bạn đang xóa. Nếu không, bạn sẽ thấy thông báo lỗi:

Phần mềm hiện cảnh báo khi xảy ra lỗi

Xóa chi nhánh trong Git cục bộ và từ xa bằng Tower

Xóa chi nhánh bằng Tower tương tự như GitKraken. Các chi nhánh địa phương và từ xa nằm trong bảng bên tay trái. Nhấp chuột phải vào bất kỳ nhánh nào, sau đó chọn Xóa bỏ từ menu ngữ cảnh:

Xóa chi nhánh cục bộ trong GitHub

Sự khác biệt chính ở đây là một chi nhánh từ xa có thể bị xóa với chi nhánh cục bộ tại cam kết:

Xác nhận xóa nhánh trong Git

Xóa chi nhánh trên GitHub

GitHub chỉ hoạt động như một nguồn từ xa, vì vậy theo mặc định các nhánh phải ở từ xa. Nếu bạn xóa một chi nhánh bằng cách sử dụng web GitHub, bạn phải xóa chi nhánh cục bộ tương ứng bằng một trong các phương pháp trên.

Tương tự như GitHub Desktop, web GitHub không cho phép bạn xóa nhánh mặc định. Tuy nhiên, việc xóa một nhánh vẫn rất đơn giản. Từ trang mã của khonhấp vào liên kết chi nhánhchọn nhánh để xóa, sau đó nhấp vào biểu tượng Xóa chi nhánh này (giống như một cái thùng rác).

Xóa chi nhánh trong web GitHub

Lưu ý, không có thanh toán cho các thay đổi chưa hợp nhất, vì vậy trên GitHub nhánh sẽ bị xóa ngay lập tức. Tuy nhiên, vì nó luôn đại diện cho một nhánh từ xa, đây phải là hành vi mà bạn mong đợi.

Lưu ý, sau khi xóa, bạn sẽ thấy nút để Khôi phục (khôi phục) chi nhánh. Tuy nhiên, đây chỉ là tính năng hoàn tác, phòng trường hợp bạn lỡ bấm nhầm vào biểu tượng xóa. Đừng dựa vào nó vì ngay sau khi bạn làm mới hoặc thoát khỏi trang này, bạn sẽ mất tùy chọn đó.

Kết quả sau khi xóa nhánh Git

Xóa các nhánh Git cục bộ và từ xa bằng Bitbucket

Bitbucket như GitHub sẽ không cho phép bạn xóa nhánh mặc định. BitBucket gọi nó là Chi nhánh chính trong cài đặt Kho. Bạn có thể xóa bất kỳ nhánh nào khác được liệt kê trong tab Chi nhánhqua menu Hành động tương ứng:

Hành động xóa nhánh Bitbucket

Bạn cũng có thể xóa nhiều nhánh cùng một lúc nếu bạn đang thực hiện một đợt dọn dẹp lớn.

Hoàn thành xóa chi nhánh trên Bitbucket

Trên đây là cách xóa chi nhánh trong Git. Nếu biết cách nào khác, hãy chia sẻ cùng độc giả của hatienvenicevillas.com.vn nhé!

Xem chi tiết bài viết

Cách xóa một nhánh trong Git cục bộ và từ xa

#Cách #xóa #một #nhánh #trong #Git #cục #bộ #và #từ

Xóa 1 branch trong GitHub không khó. Nếu chưa biết, mời bạn cùng hatienvenicevillas.com.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ó.(adsbygoogle=window.adsbygoogle||[]).push({})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.(adsbygoogle=window.adsbygoogle||[]).push({})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ánhCá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 commitLư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ệnhCú 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 devBạ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.(adsbygoogle=window.adsbygoogle||[]).push({})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] devXóa nhánh cục bộ và từ xa bằng GitHub DesktopKhá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.(adsbygoogle=window.adsbygoogle||[]).push({})Xóa nhánh trong Git bằng GitKrakenGitKraken hiện nhánh cục bộ và từ xa của repository ở sidebar bên tay trái. Bạn phải xóa riêng từng cái.Trỏ chuột qua tên nhánh phù hợp và click menu tác vụ Branch (icon 3 dấu chấm). Từ menu này, chọn Delete <branch name>:Bạn sẽ thấy một thông báo xác nhận đây là một hành động phá hủy. Bạn có thể xác nhận muốn tiếp tục bằng nút Delete.Phản hồi hoạt động mặc định của chương trình dòng lệnh Git. Trước tiên bạn phải chuyển sang một nhánh khác, thay thế nhánh đang xóa. Nếu không, bạn sẽ thấy thông báo lỗi:(adsbygoogle=window.adsbygoogle||[]).push({})Xóa nhánh trong Git cục bộ và từ xa bằng TowerXóa một nhánh bằng Tower tương tự như GitKraken. Các nhánh local và remote nằm trong bảng ở bên tay trái. Click chuột phải và một nhánh bất kỳ, rồi chọn Delete từ menu ngữ cảnh:Sự khác biệt chính ở đây là một nhánh từ xa có thể được xóa cùng nhánh cục bộ khi xác nhận:Xóa nhánh trên GitHubGitHub chỉ hoạt động như một nguồn từ xa, vì thế, mặc định các nhánh phải nằm ở remote. Nếu bạn xóa một nhánh bằng web GitHub, bạn phải xóa nhánh cục bộ tương ứng bằng một phương pháp ở trên.Tương tự như GitHub Desktop, web GitHub không cho phép bạn xóa nhánh mặc định. Tuy nhiên, xóa một nhánh vẫn rất đơn giản. Từ trang code của repository, click link branches, chọn nhánh để xóa, rồi click icon Delete this branch (giống thùng rác).(adsbygoogle=window.adsbygoogle||[]).push({})Lưu ý, không có kiểm tra cho các thay đổi chưa được hợp nhất, vì vậy, trên GitHub, nhánh sẽ bị xóa ngay lập tức. Tuy nhiên, do nó luôn đại diện cho một nhánh từ xa, đây sẽ là hành vi mà bạn mong đợi.Lưu ý, sau khi xóa, bạn sẽ thấy một nút bấm để Restore (khôi phục) nhánh. Tuy nhiên, đây chỉ là tính năng hoàn tác (Undo), trong trường hợp bạn vô tình click nhầm icon xóa. Đừng dựa vào nó bởi ngay khi bạn làm mới hay thoát trang này, bạn sẽ mất tùy chọn đó.Xóa nhánh Git cục bộ và từ xa bằng BitbucketBitbucket giống như GitHub sẽ không cho phép bạn xóa nhánh mặc định. BitBucket gọi nó là Main branch trong cài đặt Repository. Bạn có thể xóa bất kỳ nhánh khác được liệt kê trong tab Branches, qua menu Actions tương ứng:Bạn cũng có thể xóa nhiều hơn một nhánh cùng lúc nếu đang thực hiện quá trình dọn dẹp lớn.Trên đây là cách xóa nhánh trong Git. Nếu biết thêm cách nào khác, hãy chia sẻ cùng độc giả hatienvenicevillas.com.vn nhé!


Tổng hợp: Hatienvenicevillas

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Check Also
Close