2015-10-08 17:35:06

Jūsų sukurta Git comanda šakoms išvalyti

Pamokėlę, padedanti turėti šbvaresnį VCS serverį ir supažindinanti su custom git komandos kūrimu.

Dirbant sistemingai, darant pakeitimus nedideliais kodo gabaliukais, dažnai susikaupia krūvos nenaudojamų Git šakų.
Taip gali nutikti, kai kolegos, arba pats programeris, pamiršta ištrinti šaką (branch) kurioje buvo pakeitimai.

Jei šakos nebeegzistuoja serveryje (t.y. kolega ištrynė nereikalingas, bet jo užsiliko jūsų kompiuteryje), tuomet pagelbės komanda:

git prune

Jei šakos yra ir lokalia ir serveryje, tačiau jo jums yra uselless, norint jas ištrinti reikia naudoti dvi komandas:

git branch -D  # Ištrina šaką lokaliai
git push --delete # Ištrina šaką serveryje


Galbūt girdėjote, kad git galima scriptinti (ar teisingas terminas???), todėl, kad nesivarginti ir nerašyti dviejų komandų vienam rezultatui, siūlau pasirašyti custom Git comandą, kuri paleistų šias abi komandas.

Tam reikalui sukursime shell scriptą, pavadinimu `git-branch-clean` .

Failo vardas simobolizuoja git-branch-clean - tai yra git komanda, git-branch-clean komanda git'ui.

Failo turinys:

#!/bin/sh 

remote=$1 # Kintamasis
branch=$2 # Kintamasis <šakos-pavadinimas>

test -z $remote && echo "Remote name required." 1>&2 && exit 1
test -z $branch && echo "Branch name required." 1>&2 && exit 1 git branch -D $branch

git push $remote --delete $branch


nukopijuojame į /usr/bin/


Scriptą leidžiame comanda: git branch-clean <šakos-pavadinimas>

Suteikiame scriptui privilegijas kuriomis jūsų vartotojas galėtų jį paleisti.