Bash скрипт за изтриване на локални Git бранчове без remote origin

В света на разработката на софтуер с Git като основен инструмент за управление на версиите, управлението на локални и отдалечени бранчове е от ключово значение. Често се случва, че създаваме локални бранчове за нови функции или изправки, но след това те остават без remote origin и се превръщат в ненужни отпадъци в хранилището на нашия проект.

В тази статия ще ви представим един полезен Bash скрипт, който автоматизира процеса на изтриване на всички локални Git бранчове, които нямат remote origin.

Защо е важно да поддържаме чистота в локалните бранчове?

Поддръжката на чистота в локалните бранчове нашия Git репозиторий е от съществено значение за поддържане на ясност и управление на кода. Ненужните бранчове могат да доведат до забавяне на работата на Git.

Ръчно изтриване на локални бранчове без remote origin

В обичайни ситуации, изтриването на локален Git бранч е лесна задача. Използваме интерфейса на IDE-то или с командата git branch -d <branch_name> за да изтрием бранча, който вече не ни трябва. Обаче, когато става въпрос за изтриване на голям брой локални бранчове без remote origin, процесът се усложнява.

Автоматизирано изтриване на локални бранчове без remote origin

За да опростим този процес, може да използвате този Bash скрипт, който автоматизира откриването и изтриването на локални бранчове без remote origin:

#!/bin/bash

# Fetching updates from remote repository
git fetch --prune

# Getting a list of local branches that have been deleted remotely
deleted_branches=$(git branch -vv | grep '\[origin\/.* gone\]' | awk '{print $1}')

# Counting the number of branches found
deleted_branches_count=$(echo $deleted_branches | wc -w)
echo "Found $deleted_branches_count branches that have been deleted remotely."

# Deleting each of the branches found
for branch in $deleted_branches; do
    git branch -D $branch
done

echo "All deleted branches have been removed."

 

 

Създайте файл с примерно име "delete-local-branches.sh" и поставете кода по-горе. За да го изпълните трябва да сте сигурни че имате права за "execution". Може да дадете права с тази команда:

chmod +x delete-local-branch.sh

 

Този скрипт използва командата git fetch --prune, за да актуализира информацията за remote branches и после използва git branch -vv за да намери локалните бранчове, които са били изтрити отдалечено. След това, изтрива всяка открита локална branch с командата git branch -D.

Ако се нуждаете от по-нататъшна автоматизация или приспособяване на този скрипт спрямо вашите специфични нужди, не се колебайте да го модифицирате. В крайна сметка, целта е да опростите вашата работа и да подобрите ефективността на разработката на софтуер.

Коментари