Narzędzia programisty PL/SQL - system kontroli zmian
Korzystając z doświadczeń naszych programistów aplikacyjnych do zarządzania zmianami w kodzie również używamy GITa. To bardzo popularny CVS, z kompletnie innym podejściem niż w naszym poprzednim systemie kontroli wersji. Z tym poprzednim to było bardzo śmiesznie (specjalnie nie wymienię jego nazwy) bo był to produkt potentata produkcji oprogramowania, a chyba byliśmy jedynymi w naszym kraju, którzy tego używali. Cena to nie był jego jedyny problem ;-)
Wracając do GITa - w repozytoriumsą trzymane wszystkie pliki, które ulegają zmianie w trakcie życia systemu. W poszczególnych katalogach trzymane są kody określonych typów obiektów, ale także pliki konfiguracyjne czy binarne pliki żrodłowe dla Oracle FORMS/REPORTS. Pomimo, że dla takich plików niepoprawnie wyświetla się różnica pomiędzy wersjami, to jednak uporządkowany sposób przechowywania kolejnych wersji z dołączoną informacją o kolejnych commitach niesie w zamian wystarczającą ilość informacji.
W pracy używany jest pakiet oprogramowania Atlassian-a, w prywatnych projektach również używam GITa, a do zarządzania poprzez WEB używam Gogs
![](https://codecraftdb.eu/content/images/2024/09/Screen-Shot-2021-04-09-at-18.38.21.png)
Przykładowa struktura projektu:
![](https://codecraftdb.eu/content/images/2024/09/Screen-Shot-2021-04-09-at-18.27.57.png)
Pokazany układ katalogów jest wymuszony ze względu na stosowanie Liquibasea, które opisze w innym artykule. Teraz pokazuję jak może wyglądać przykład takiego układu.
Jednym z założeń jest posiadanie głównego brancha w repozytorium na przykład o nazwie develop, a gdy programista zaczyna pracować nad nowym zadaniem robi kopię aktualnego stanu developa i od tego momentu programista rozwija kod na swoim branchu. Jak najczęściej należy wykonywać commity kolejnych zmian w plikach i pushować do repozytorium by mieć odwzorowanie stanu swoich prac. W momencie zakończenia zadania należy połączyć zmiany z głównym repozytorium. W ramach bitbucketa są do dyspozycji PullRequesty i mechanizm akceptacji zmian w kodzie przez innych. W Gogs jest również mechanizm PR i mergeowania zmian na serwerze, ale zarządzania akceptacją zmian nie potrzebowałem - nie wiem czy jest.
![](https://codecraftdb.eu/content/images/2024/09/Screen-Shot-2021-04-09-at-18.49.26.png)
Jeśli chodzi codzienne użytkowania GIT to używam go z linii komend lub z integracji z innymi narzędziami. W tej chwili do zmian w kodzie używam Visual Studio Code, który doskonale wspiera codzienne użytkowanie.
![](https://codecraftdb.eu/content/images/2024/09/Screen-Shot-2021-04-09-at-18.50.47.png)
Gdy chcę obejrzeć zmiany w konkretnym commicie na konkretnym pliku VSC potrafi to ładnie zaprezentować.