Developing FreeCAD with GitKraken/pl

Przedmowa
FreeCAD używa Git do zarządzania swoim kodem źródłowym. Niniejszy dokument stanowi pobieżne wprowadzenie do GitKraken, graficznego interfejsu użytkownika Git. GitKraken jest zastrzeżonym oprogramowaniem, które jest bezpłatne do użytku niekomercyjnego. Nie potrzebujesz GitKrakena do tworzenia kodu dla FreeCAD, ale wielu programistów lubi go i uważa za przydatny do zarządzania ich rozwojem. FreeCAD nie popiera GitKraken, ale mamy nadzieję, że przewodnik taki jak ten pokaże użytkownikom, jak łatwo jest skonfigurować środowisko programistyczne i zachęci więcej osób do wniesienia wkładu.

Więcej informacji na temat ogólnego korzystania z Git z linii poleceń można znaleźć na stronie Zarządzanie kodem źródłowym oraz w książce online Pro Git. Aby skompilować FreeCAD zobacz stronę Kompilacja.

Wprowadzenie
Git to potężny system kontroli wersji powszechnie używany do śledzenia rozwoju kodu komputerowego. Mimo że jest to złożony system, zwykle potrzebne są tylko podstawowe informacje na temat jego działania i znajomość kilku poleceń terminala. Graficzny interfejs użytkownika (GUI) ułatwia naukę. GitKraken to zastrzeżony program, który jest darmowy do użytku niekomercyjnego i działa na platformie Electron, co oznacza, że jest wieloplatformowy i może być używany tak samo w systemach Linux, MacOS i Windows.



Konfiguracja Git development
Istnieją różne sposoby pobrania GitKraken w zależności od systemu operacyjnego. W dystrybucjach Linuksa czasami można go pobrać z menedżera pakietów.

 Pobierz GitKraken. W przeglądarce internetowej przejdź do strony: https://github.com/FreeCAD/FreeCAD.



 Kiknij na Fork. Spowoduje to sklonowanie repozytorium do własnego konta. Innymi słowy, adres URL dostępu do forka będzie następujący:

https://github.com/GITHUBUSERNAME/FreeCAD.git

 Otwórz GitKraken, przejdź do menu, kolejnie wprowadź adres.



 GitKraken wykona teraz operację na twoim osobistym repozytorium.

Zapoznaj się z różnicą między zdalnym repozytorium origin vs. upstream. Essentially, Twój fork FreeCAD jest repozytorium, podczas gdy oficjalne repozytorium FreeCAD jest. Teraz musisz odpowiednio ustawić upstream. Znajdź pasek boczny w Gitkraken. Znajduje się tam sekcja Lokalna i Zdalna. Sekcja Local odnosi się do lokalnych oddziałów. Sekcja Remote odnosi się do zdalnych repozytoriów i ich gałęzi. Dodajmy repozytorium FreeCAD jako zdalne. W sekcji Remote kliknij przycisk. ( jak pokazano na poniższym obrazku)



 Otworzy się okno dialogowe Add Remote. Kliknij symbol Github (1). W polu Github repo (2) znajdź i kliknij na niego. W polu Name wpisz. Następnie kliknij przycisk.



 Okno dialogowe zostanie zamknięte i nastąpi powrót do głównego interfejsu GitKrakena. Tym razem znajdź sekcję Local na pasku bocznym. Kliknij dwukrotnie gałąź, aby się do niej przełączyć. W wierszu poleceń jest to równoważne

git checkout master

</li> Kliknij ikonę "Push" w prawym górnym rogu interfejsu. Spowoduje to wypchnięcie Local master do Remote origin master</li> </ol>

<span id="The_GitKraken_interface">

Interfejs GitKraken
Więcej informacji można znaleźć w podręczniku GitKraken Przewodnik dla początkujących.



Na obrazku zdalne gałęzie Local master i Remote origin master są trzy commity za Remote upstream master, czyli oficjalnym kodem źródłowym FreeCAD. Wskazują na to ikony znajdujące się trzy kroki za łańcuchem, który reprezentuje historię zatwierdzeń gałęzi głównej. Zobacz Zmiana bazy, aby zaktualizować gałęzie, które są w tyle.

Rebasing

 * Sprawdź gałąź Local master, klikając na nią dwukrotnie.
 * Przesuń kursor myszy do ostatniego zatwierdzenia upstream, kliknij prawym przyciskiem myszy i wybierz Rebase master onto upstream/master.
 * Teraz naciśnij przycisk Push . Spowoduje to wypchnięcie z Local master do Remote origin master.



Gałęzie
Gałęzie są cechą, która sprawia, że Git jest potężny w porównaniu do innych systemów rewizji. Gałęzie nie są kompletnymi forkami, ale raczej definiują migawki, w których wersja kodu zaczyna odbiegać od gałęzi głównej. Za każdym razem, gdy chcesz zmodyfikować kod FreeCAD, najpierw utwórz gałąź, następnie wprowadź zmiany, a następnie scal swoje zatwierdzenia z powrotem do gałęzi głównej. Dzięki Git łatwo jest tworzyć, scalać i usuwać gałęzie, gdy nie są już potrzebne. Przeczytaj Branching and Merging, aby dowiedzieć się więcej o tym procesie w GitKraken.


 * 1) Upewnij się, że aktualnie masz aktywną gałąź master (kliknij ją dwukrotnie, ). W GitKraken gałąź Local master powinna być podświetlona na zielono.
 * 2) Kliknij przycisk Branch, aby utworzyć nową gałąź i wprowadź jej nową nazwę.

<span id="Making_pull_requests">

Tworzenie pull requests
Żądania ściągnięcia (PR) są niezbędne do połączenia kodu w gałęzi w lokalnym repozytorium z kodem w repozytorium. Podsumowując proces, po zmodyfikowaniu gałęzi należy przesłać ją do widelca GitHub, a stamtąd wykonać żądanie ściągnięcia do. GitKraken pozwala zaoszczędzić kilka kliknięć w celu łatwego tworzenia pull requestów zamiast korzystania z interfejsu GitHub.

Kroki w GitKraken: GitKraken otworzy okno dialogowe z prośbą o potwierdzenie repozytorium, którego gałąź będzie używać do pobierania i wypychania. Następnie wypchnie lokalną gałąź do tego zdalnego repozytorium.
 * Znajdź lokalną gałąź w interfejsie i upewnij się, że jest aktywna (kliknij ją dwukrotnie).
 * Kliknij prawym przyciskiem myszy nazwę gałęzi i znajdź opcję Push <nazwa Twojej gałęzi> i rozpocznij żądanie ściągnięcia.
 * GitKraken zapyta, jak chcesz nazwać zdalną gałąź. Domyślną nazwą jest ta sama nazwa, którą gałąź ma lokalnie na komputerze.
 * GitKraken then opens up another dialog asking the repositories and branches to merge, and the direction (from and to).
 * You normally want to merge from the remote origin <your-branch-name> to the remote upstream master branch . Be sure to enter a good title for the pull request, and write a more descriptive paragraph if your changes are significant. Consult the official documentation of GitKraken for more information.



Resolving merge conflicts
GitKraken has a special merge conflict tool that is only accessible in the GitKraken Pro version. However, there are workarounds to use external tools for merging.
 * GitKraken compatible external merge tools: Beyond Compare, FileMerge, Kaleidoscope, KDiff, Araxis, P4Merge
 * If none of the above options work for you, it's possible to specify External merge and diff tools within the configuration file in your user's home directory.

Squashing commits
As a revision control system Git encourages making many commits to keep track of your changes; however, if you have too many small changes the commit history may look a bit messy. Squashing is condensing various commits into only one commit. From the GitKraken manual, squashing is available for commits that meet the following requirements:
 * You need to select at least two commits to squash.
 * The youngest commit, by commit date, is also the current HEAD commit.
 * Genealogically consecutive.
 * Chronologically consecutive.
 * The oldest commit in the list has a parent.

If all these conditions are met, the Squash option appears when you right click the commit node. See Squash.gif

Following other FreeCAD repositories
You can use GitKraken to follow the personal FreeCAD forks of other developers; in this way you can see how they write code and commit changes to their own branches before they submit pull requests to the upstream repository.
 * 1) In the left side panel next to the Remote category, press the + sign.
 * 2) A dialogue will come up to enter the name of the repository that you want to add. Recommended remotes are from the main FreeCAD developers and known contributors: wmayer, yorikvanhavre, ickby, sliptonic, kkremitzki, etc.
 * 3) Press Add Remote.

Now whenever new commits are made, or branches are rebased, by the authors of those repositories, you will see their commit history in a graphical way.

Related

 * Source code management
 * Developing FreeCAD with KDevelop