Có cách nào xóa nhiều branch dưới local cùng một lúc trên VSCode không?

Các bạn xài VScode cho mình hỏi, thí dụ mình muốn xóa nhiều branch dưới local cùng lúc, ngoài cách dùng git branch -D sau đó gõ tên các branch cần xóa ra thì trên Vscode hiện giờ có cách nào hay extension nào cho phép mình select được các branch cần xóa rồi delete cùng lúc không ạ.

Mình thấy git branch -D cũng xoa được nhiều branch cùng lúc rồi nhưng lại mất công gõ từng tên branch vào nữa nên thấy cũng hơi mất thời gian

Tự viết script đi bạn :smiley:
Windows hay Linux gì cũng viết đc, đơn giản mà

5 Likes

Hi bạn, mình chưa pro được như vậy, mới học sơ sơ à :sweat_smile:

Up lên trên GitHub rồi vào trang của repo xóa, xóa xong rồi thì clone lại về máy :penguin:.

VSCode cũng có extension cho phép xoá branch, nhưng chỉ được 1 cái cùng lúc, khi dùng tính ra còn lâu hơn cách dùng git branch -D

Nếu muốn tập viết script thì nên làm theo cách của @nitro2, còn thích hardcore hơn nữa thì viết app có GUI đàng hoàng dùng git hoặc libgit2 để xử lí.

5 Likes

Bạn bắt đầu bằng những việc sau, từ dễ tới khó:

  • Tìm cách chạy 1 script trong môi trường git, kiểu như script đó chỉ chứa echo 1
  • Chạy script để liệt kê tất cả các branch trong git
  • Thử chạy script để xóa 1 branch cố định
  • Chạy script để đọc 1 file .txt, xuất ra màn hình nội dung file đó
  • Chạy script để xuất kết quả liệt kê tất cả các branch và ghi vào file all_branches.txt
  • Chạy script để đọc từng dòng trong file all_branches.txt , mỗi dòng lưu vào 1 biến, rồi xuất biến đó ra màn hình.
  • Chạy script để đọc từng dòng trong file all_branches.txt , mỗi dòng lưu vào 1 biến, sử dụng biến đó trong cú pháp xóa branch.

Nên thực hiện các bước trên ở 1 repo nháp. Nhớ backup trước repo git chính.
Bạn có thể thấy các việc trên khó và mất thời gian gấp 100 lần so với yêu cầu ban đầu của bạn. Và tin mình đi, nó giúp bạn đi xa xa hơn rất nhiều trong tương lai.

Bạn sẽ chọn gì? Con đường dễ dàng hay là HỌC lập trình?

Ps: Tại sao lại lưu vào file? Vì bạn có thể edit file đó và chỉ xóa những branch mà bạn muốn.

5 Likes

Một cách tiếp cận khác:

7 Likes

Cám ơn bạn Nhím và các bạn nhiều nha. Mình mới chỉ biết làm web sơ sơ một chút thôi. Các bạn cho mình hỏi thêm là viết script thì nó cũng giống như dạng viết thành extension sau đó có thể cài được vào VScode và nó sẽ có giao diện gồm những chức năng như mình muốn phải không ạ.

1 Like

Không, script ở đây là chạy trên cmd, bash. Còn extension trên VSCode thì viết bằng Typescript, muốn làm một cái như yêu cầu của bạn thì phải dùng git (cái bạn đang sài) hoặc libgit2 để xử lí. Làm extension như thế khá khó, với trình độ của bạn thì chắc không làm được đâu.

5 Likes

Script trên môi trường cmd hay bash giống như bạn Gà nói.

Từ khóa search: git command line
Đây là 1 ví dụ: https://vnpro.vn/thu-vien/lab-cac-thao-tac-co-ban-tren-git-phan-4-3381.html

Nghĩa là thay vì bạn dùng giao diện thì bạn gõ lên để thực hiện các thao tác như checkout ,create/delete branch, pull , merge

Script hay còn gọi là shell script là 1 công cụ giúp hoàn thành các công việc nhanh hơn click chuột, đặc biệt là với các việc có tính chất lặp lại và số lượng lớn.

Mình nghĩ nó cực kỳ cần thiết khi làm web đó, đặc biệt là backend

4 Likes

Cậu có thể tạo 1 file, để hết tên các branch cần xóa đi vào file đó như @nitro2 kể ở trên , rồi chạy câu lệnh này nếu cậu dùng linux shell:

# Untested command
cat <file_của_cậu> | xargs -I {} sh -c 'git branch -d {}'

Nếu cậu đã có pattern tên của các branch cần xóa dưới dạng regex, cậu thậm chí không cần file chứa tên các branch đó.

# Untested command
git branch | grep "<pattern goes here>" | xargs -I {} sh -c 'git branch -d {}'

Nhanh hơn so với dùng extension chứ? :smile:

Hope it helps!

5 Likes

Cám ơn các bạn đã giúp đỡ, mình sẽ tìm hiểu thêm về các kiến thức mới này. Một lần nữa xin cám ơn :pray:

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?