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.
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.
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.
https://github.com/FreeCAD/FreeCAD
.FreeCAD/FreeCAD
do własnego konta. Innymi słowy, adres URL dostępu do forka będzie następujący:
https://github.com/GITHUBUSERNAME/FreeCAD.git
git clone
na twoim osobistym repozytorium.
Zapoznaj się z różnicą między zdalnym repozytorium origin vs. upstream. Essentially, Twój fork FreeCAD jest repozytorium origin
, podczas gdy oficjalne repozytorium FreeCAD jest upstream
. Teraz musisz odpowiednio ustawić upstream.FreeCAD/FreeCAD
i kliknij na niego. W polu Name wpisz upstream
. Następnie kliknij przycisk Add Button.master
, aby się do niej przełączyć. W wierszu poleceń jest to równoważne
git checkout master
Więcej informacji można znaleźć w podręczniku GitKraken Przewodnik dla początkujących.
Local master | Lokalna gałąź głównej gałęzi FreeCAD, oznaczona niebieską linią na zrzucie ekranu.
Element jest podświetlony na zielono, co oznacza, że gałąź jest obecnie aktywna ( |
Local <branch-name> | Wszelkie inne gałęzie na lokalnym komputerze. Na zrzucie ekranu widać gałęzie o nazwach editor_fixes i editor_fixes_typos .
|
Remote upstream | Oficjalne repozytorium FreeCAD https://github.com/FreeCAD/FreeCAD , oznaczone zieloną linią na zrzucie ekranu.
|
Remote origin | Twój osobisty fork FreeCAD, https://github.com/YourGitHubUsername/FreeCAD , oznaczony czerwoną linią na zrzucie ekranu.
|
Interfejs GitKraken pokazujący trzy lokalne gałęzie, w tym lokalną master, oraz zdalne repozytoria origin
i upstream
, z których każde ma gałęzie master i release.
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.
git checkout master
).git pull upstream master
).git push origin master
). Spowoduje to wypchnięcie z Local master do Remote origin master.Rebasing local master aktualizuje go tak, aby pasował do zawartości upstream master.
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.
git checkout master
). W GitKraken gałąź Local master powinna być podświetlona na zielono.git checkout -b new-name-of-your-branch
).
Żądania ściągnięcia (PR) są niezbędne do połączenia kodu w gałęzi w lokalnym repozytorium z kodem w repozytorium upstream
. Podsumowując proces, po zmodyfikowaniu gałęzi należy przesłać ją do widelca GitHub (origin
, https://github.com/GITHUBUSERNAME/FreeCAD.git
), a stamtąd wykonać żądanie ściągnięcia do upstream
. 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.
Zwykle chcesz scalić ze zdalnej gałęzi origin <your-branch-name> (GITHUBUSERNAME/FreeCAD
) do zdalnej gałęzi upstream master (FreeCAD/FreeCAD
). Pamiętaj, aby wprowadzić dobry tytuł żądania ściągnięcia i napisać bardziej opisowy akapit, jeśli zmiany są znaczące. Więcej informacji można znaleźć w oficjalnej dokumentacji GitKraken.
GitKraken ma specjalne narzędzie do konfliktów scalania, które jest dostępne tylko w wersji GitKraken Pro. Istnieją jednak obejścia umożliwiające korzystanie z zewnętrznych narzędzi do scalania.
~/.gitconfig
w katalogu domowym użytkownika.
Jako system kontroli wersji Git zachęca do wykonywania wielu zatwierdzeń, aby śledzić zmiany. Jeśli jednak masz zbyt wiele małych zmian, historia zatwierdzeń może wyglądać nieco niechlujnie. Squashing to kondensacja różnych commitów w tylko jeden commit. Z podręcznika GitKraken, squashing jest dostępny dla commitów, które spełniają następujące wymagania:
Jeśli wszystkie te warunki są spełnione, opcja Squash pojawia się po kliknięciu prawym przyciskiem myszy węzła zatwierdzenia. Zobacz Squash.gif.
Możesz użyć GitKraken do śledzenia osobistych forków FreeCAD innych programistów; w ten sposób możesz zobaczyć, jak piszą kod i zatwierdzają zmiany we własnych gałęziach, zanim prześlą pull requesty do repozytorium upstream FreeCAD/FreeCAD
.
Teraz za każdym razem, gdy autorzy tych repozytoriów wykonają nowe zatwierdzenia lub gałęzie zostaną ponownie zbudowane, zobaczysz ich historię zatwierdzeń w sposób graficzny.