Dodiff
Ostatnio często muszę robić diffy w gicie i zapisywać je do plików. Przykładowa nazwa pliku z diffem wygląda tak: {branch}-{branch/commit}.diff
Diffy pomiędzy poszczególnymi commitami nie są mi potrzebne. Aby otrzymać takiego diffa można wykonać komendę git diff {branch/commit} > ~/diffs/{branch}-{branch/commit}.diff.
Przykłady:
Skrypt ma sam sprawdzić czy jest już katalog diffs w moim katalogu użytkownika, jak nie ma, to niech go tworzy i dodatkowo, niech sam pobiera informację na temat nazwy brancha na którym aktualnie jestem.
Tak powstała funkcja dodiff (ja ją wrzuciłem standardowo do ~/.bash_aliases):
Diffy pomiędzy poszczególnymi commitami nie są mi potrzebne. Aby otrzymać takiego diffa można wykonać komendę git diff {branch/commit} > ~/diffs/{branch}-{branch/commit}.diff.
Przykłady:
git diff develop > ~/diffs/develop-master.diff git diff 66666 > ~/diffs/66666-develop.diff git diff 18361 > ~/diffs/18361-develop.diff git diff 47529 > ~/diffs/47529-0dbf4fa.diffJak widać jest trochę pisania.
- po co za każdym razem wpisywać katalog w którym ma zostać stworzony plik
- po co podawać nazwę brancha na której właśnie jesteś (i to dwa razy!) ;)
- pracuj na gałęziach, których nazwy składają się wyłącznie z cyfr to oczopląsu dostaniesz po kilkunastu takich komendach
Skrypt ma sam sprawdzić czy jest już katalog diffs w moim katalogu użytkownika, jak nie ma, to niech go tworzy i dodatkowo, niech sam pobiera informację na temat nazwy brancha na którym aktualnie jestem.
Tak powstała funkcja dodiff (ja ją wrzuciłem standardowo do ~/.bash_aliases):
dodiff() { if [ ! -d ~/diffs ]; then mkdir -p ~/diffs fi branch=`git rev-parse --abbrev-ref HEAD` git diff $1 > ~/diffs/$branch-$1.diff }Przykład użycia: showterm.
Comments
Post a Comment