Ağu
17

Eski branchlerin git’ den silinmesi

Yazar Enes Pekkaya    Kategori Genel     Etiketler

Projelerde genelde branchler gelecekte lazım olur diye silinmez. Bu da ilerde git’ de branch çöplüğüne dönüşmektedir. Siz de benzer sorununuz var ise aşağıdaki bash scripti ile merge işlemi yapılıp bitmiş branchleri belirli bir tarihten öncesini sildirebilirsiniz.

#!/bin/bash

##
# Script to delete remote git branches
##

# Fetch the remote resources
git fetch;

# Loop through all remote merged branches
for branch in $(git branch -r --merged | grep -v HEAD | grep -v develop | grep -v master | grep -v release | sed /\*/d); do
        if [ -z "$(git log -1 --since='March 24, 2021 16:00:00' -s ${branch})" ]; then
                echo -e `git show --format="%ci %cr %an" ${branch} | head -n 1` \\t$branch
                remote_branch=$(echo ${branch} | sed 's#origin/##' )
                
                # To delete the branches uncomment the bellow git delete command
                git push origin --delete ${remote_branch}
        fi
done

İlk önce fetch işlemi ile bütün branchler alınır. Daha sonra merge işlemi yapılmış bütün branchler for döngüsüne sokulur tabi “HEAD”, “develop” ve “master” branch’ leri hariç

if statement’ ı ile ilgili branch’ in şu tarihe kadar işlemi bitmiş ise içeriye girer ve branch silme işlemi yapılır.

Çok faydalı bulduğum scriptin linki aşağıdadır.

Referans :

https://www.digitalocean.com/community/questions/how-to-delete-old-remote-git-branches-via-git-cli-or-a-bash-script

Yorum Yapın

 

Twitter'dan Takip Et! Twitter'dan Takip Et!

Etiketler

Son Yazılar

Son Yorumlar

Bağlantılar

Arşivler