git

Materiały po Git szkoleniu

Posted on

Tutorial i rzeczy, które fajnie rozwiązać żeby się więcej nauczyć:
https://learngitbranching.js.org

https://onlywei.github.io/explain-git-with-d3/

https://github.com/SkillsTemple/git-devWarsztaty-rebase

Ksiązka o gicie, jest też polska wersja:
https://git-scm.com/book/en/v2

http://files.zeroturnaround.com/pdf/zt_git_cheat_sheet.pdf

Pozostałe:
http://ohshitgit.com/

https://stackoverflow.com/questions/2596805/how-do-i-make-git-use-the-editor-of-my-choice-for-commits
najczęściej będzie to “git config –global core.editor notepad”

KDiff3:
https://krzysztofmorcinek.wordpress.com/2016/03/01/git-rozwiazywanie-konfliktow/

https://krzysztofmorcinek.wordpress.com/2016/02/16/git-i-poprawianie-commitow-z-poziomu-source-tree/

Bardzo ważne o tym jak nazywać commity:
https://chris.beams.io/posts/git-commit/

Sa różne flow, którymi można pracować w gicie. Dla potrzeb, które macie najlepiej sprawdza się https://trunkbaseddevelopment.com/

Aliasy i inne:

Advertisements

Jak sprawdzić jakie znaki końca linii (Line Endings) są w zdalnym repozytorium

Posted on

Ustawić globalnie aby autoCrlf było takie że nic nie zmienia znaków końca linii (“core.autocrlf” is set to “false”).
Wywalić plik .gitattributes z repozytorium.

Sprawdzić co dostaniemy po git clone.

Niech commit sobie odczeka

Posted on Updated on

Jako że korzystam z GITa mogę zrobić taki scenariusz:

– robię commit (kilka commitów)
– biorę się za nastepny task
– w międzyczasie pojawia się obiad
– wracam po obiedzie
– ściągam najnowszą histori i robię rebase moich commitów (‘git pull –rebase’, gdzie wystarcza ‘git pull’, bo opcja rebase mam defaultowo włączoną)
– przeglądam commity zanim je wpushuje !!! i tutaj dzieją się fajne rzeczy. Zauważam jakiś bug, zauważam czego zapomniałem, co mogę czytelniej napisać. I do publicznej historii trafia kod po prostu lepszy.

W tym przykładzie nieistotne jest czy pushuje bezpośrednio na brach “develop” czy tworzę branch pod PR i code review.

Git – kolejny use case

Posted on Updated on

Mam zrobić task. Jedną z rzeczy w tym tasku jest zrobienie czegoś z czego nie jestem dobry (nie umiem, nie znam), a ktoś inny jest dobry.

– robię moją cześć
– wrzucam branch
– kolega wrzuca swoją robotę
– idzie to do Code Review
– przechodzi CR i jest mergowane jako jeden task
– testowane/traktowane jako jeden task, itp itd.

Kontekst
Mam 2 tabele z częściowo podobnymi danymi. Dochodzi nowe wymaganie że ich Id typu Guid nie może się powtórzyć między tabelami. Czyli gdy Id istnieje w jednej to nie będzie mogło zostać utworzone w drugiej.
Jestem w stanie zrobić to dobrze w kodzie, dorobić sprawdzanie itp. Z drugiej strony wiem że nie zabezpieczę się na 100% z kodu, ponieważ ktoś może kiedyś napisać kod który to obejdzie. Aby mieć 100% spełnione wymaganie trzeba mieć 2 triggery w bazie rzucające wyjątkami. I to akurat napisze inny developer.