Developing FreeCAD with GitKraken/pl: Difference between revisions
(Created page with "==Interfejs GitKraken==") |
(Created page with "* Zarządzanie kodem źródłowym * Rozwój FreeCAD z KDevelop") |
||
(27 intermediate revisions by the same user not shown) | |||
Line 65: | Line 65: | ||
==Interfejs GitKraken== |
==Interfejs GitKraken== |
||
Więcej informacji można znaleźć w podręczniku GitKraken [https://support.gitkraken.com/start-here/guide/ Przewodnik dla początkujących]. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
|+ ''Local'' |
|+ ''Local'' wskazuje komputer lokalny |
||
|- |
|- |
||
| Local master || |
| 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 ({{incode|git checkout}}). |
|||
|- |
|- |
||
| Local <branch-name> || |
| Local <branch-name> || Wszelkie inne gałęzie na lokalnym komputerze. Na zrzucie ekranu widać gałęzie o nazwach {{incode|editor_fixes}} i {{incode|editor_fixes_typos}}. |
||
|} |
|} |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
|+ ''Remote'' |
|+ ''Remote'' wskazuje zdalne repozytorium, na przykład w serwisie GitHub |
||
|- |
|- |
||
| Remote upstream || |
| Remote upstream || Oficjalne repozytorium FreeCAD {{URL|https://github.com/FreeCAD/FreeCAD}}, oznaczone '''zieloną''' linią na zrzucie ekranu. |
||
|- |
|- |
||
| Remote origin || |
| Remote origin || Twój osobisty fork FreeCAD, {{URLn|https://github.com/YourGitHubUsername/FreeCAD}}, oznaczony '''czerwoną''' linią na zrzucie ekranu. |
||
|} |
|} |
||
[[File:GitKraken-Main-Screen-sm.jpg]] |
[[File:GitKraken-Main-Screen-sm.jpg]] |
||
{{Caption|GitKraken |
{{Caption|Interfejs GitKraken pokazujący trzy lokalne gałęzie, w tym lokalną {{Emphasis|master}}, oraz zdalne repozytoria {{incode|origin}} i {{incode|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 [[Developing_FreeCAD_with_GitKraken/pl#Rebasing|Zmiana bazy]], aby zaktualizować gałęzie, które są w tyle. |
|||
= |
<span id="Rebasing"></span> |
||
==Rebasing== |
|||
* |
* Sprawdź gałąź '''Local master''', klikając na nią dwukrotnie ({{incode|git checkout master}}). |
||
* |
* Przesuń kursor myszy do ostatniego zatwierdzenia upstream, kliknij prawym przyciskiem myszy i wybierz '''Rebase master onto upstream/master''' ({{incode|git pull upstream master}}). |
||
* |
* Teraz naciśnij przycisk '''Push''' ({{incode|git push origin master}}). Spowoduje to wypchnięcie z '''Local master''' do '''Remote origin master'''. |
||
[[File:GitKraken-Rebasing.gif]] |
[[File:GitKraken-Rebasing.gif]] |
||
{{Caption|Rebasing |
{{Caption|Rebasing local master aktualizuje go tak, aby pasował do zawartości upstream master.}} |
||
= |
<span id="Branches"></span> |
||
==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 [https://support.gitkraken.com/working-with-repositories/branching-and-merging Branching and Merging], aby dowiedzieć się więcej o tym procesie w GitKraken. |
|||
# |
# Upewnij się, że aktualnie masz aktywną gałąź master ''(kliknij ją dwukrotnie, {{incode|git checkout master}})''. W GitKraken gałąź ''Local master'' powinna być podświetlona na ''zielono''. |
||
# |
# Kliknij przycisk '''Branch''', aby utworzyć nową gałąź i wprowadź jej nową nazwę ({{incode|git checkout -b new-name-of-your-branch}}). |
||
<span id="Making_pull_requests"></span> |
|||
== |
==Tworzenie pull requests== |
||
[https://help.github.com/articles/about-pull-requests/ |
[https://help.github.com/articles/about-pull-requests/ Żądania ściągnięcia] (PR) są niezbędne do połączenia kodu w gałęzi w lokalnym repozytorium z kodem w repozytorium {{incode|upstream}}. Podsumowując proces, po zmodyfikowaniu gałęzi należy przesłać ją do widelca GitHub ({{incode|origin}}, {{URLn|https://github.com/GITHUBUSERNAME/FreeCAD.git}}), a stamtąd wykonać żądanie ściągnięcia do {{incode|upstream}}. GitKraken pozwala zaoszczędzić kilka kliknięć w celu łatwego tworzenia pull requestów zamiast korzystania z interfejsu GitHub. |
||
Kroki w GitKraken: |
|||
* Znajdź lokalną gałąź w interfejsie i upewnij się, że jest aktywna ''(kliknij ją dwukrotnie)''. |
|||
* Find you local branch on the interface and make sure it's active (double click on it). |
|||
* Kliknij prawym przyciskiem myszy nazwę gałęzi i znajdź opcję '''Push <nazwa Twojej gałęzi> i rozpocznij żądanie ściągnięcia'''. |
|||
* Right click the branch name and find the option to '''Push <your-branch-name> and start a pull request'''. |
|||
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. |
|||
:GitKraken will open a dialog that asks you to confirm the repository which your branch will use to pull and push. It will then push your local branch to that remote repository. |
|||
[[File:Gitkraken-How to PR.png]] |
[[File:Gitkraken-How to PR.png]] |
||
* GitKraken zapyta, jak chcesz nazwać zdalną gałąź. Domyślną nazwą jest ta sama nazwa, którą gałąź ma lokalnie na komputerze. |
|||
* GitKraken will ask you what you want to call the remote branch. The default name is the same name that the branch has locally in your computer. |
|||
[[File:Gitkraken-How-to-PR-Prompt-for-Branch-name.png|1200px]] |
[[File:Gitkraken-How-to-PR-Prompt-for-Branch-name.png|1200px]] |
||
* Następnie GitKraken otwiera kolejne okno dialogowe z pytaniem o repozytoria i gałęzie do scalenia oraz kierunek (od i do). |
|||
* GitKraken then opens up another dialog asking the repositories and branches to merge, and the direction (from and to). |
|||
Zwykle chcesz scalić ze zdalnej gałęzi '''origin <your-branch-name>''' ({{incode|GITHUBUSERNAME/FreeCAD}}) do zdalnej gałęzi '''upstream master''' ({{incode|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 [https://support.gitkraken.com/working-with-repositories/pull-requests GitKraken]. |
|||
[[File:Gitkraken-How-to-PR-Github-Dialog-breakdown.png]] |
[[File:Gitkraken-How-to-PR-Github-Dialog-breakdown.png]] |
||
<span id="Resolving_merge_conflicts"></span> |
|||
== Resolving merge conflicts == |
|||
==Rozwiązywanie konfliktów scalania== |
|||
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. |
||
* [https://support.gitkraken.com/working-with-repositories/branching-and-merging/ |
* [https://support.gitkraken.com/working-with-repositories/branching-and-merging/ Zewnętrzne narzędzia do scalania kompatybilne z GitKraken]: Beyond Compare, FileMerge, Kaleidoscope, KDiff, Araxis, P4Merge |
||
* |
* Jeśli żadna z powyższych opcji nie działa, można określić [https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_external_merge_tools Zewnętrzne narzędzia scalania i porównywania] w pliku konfiguracyjnym {{incode|~/.gitconfig}} w katalogu domowym użytkownika. |
||
<span id="Squashing_commits"></span> |
|||
== |
==Squashing commits== |
||
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 [https://support.gitkraken.com/working-with-commits/squash/ podręcznika GitKraken], squashing jest dostępny dla commitów, które spełniają następujące wymagania: |
|||
* Należy wybrać co najmniej dwa zatwierdzenia do zgniecenia. |
|||
* You need to select at least two commits to squash. |
|||
* Najmłodsze zatwierdzenie, według daty zatwierdzenia, jest również bieżącym zatwierdzeniem HEAD. |
|||
* The youngest commit, by commit date, is also the current HEAD commit. |
|||
* Genealogicznie następujące po sobie. |
|||
* Genealogically consecutive. |
|||
* Chronologicznie następujące po sobie. |
|||
* Chronologically consecutive. |
|||
* Najstarsze zatwierdzenie na liście ma rodzica. |
|||
* The oldest commit in the list has a parent. |
|||
Jeśli wszystkie te warunki są spełnione, opcja ''Squash'' pojawia się po kliknięciu prawym przyciskiem myszy węzła zatwierdzenia. Zobacz [https://support.gitkraken.com/img/documentation/working-with-files/commits/squash.gif Squash.gif]. |
|||
<span id="Following_other_FreeCAD_repositories"></span> |
|||
== Following other FreeCAD repositories == |
|||
==Podążanie za innymi repozytoriami FreeCAD== |
|||
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 {{incode|FreeCAD/FreeCAD}}. |
|||
# |
# W lewym panelu obok kategorii ''Remote'' naciśnij znak ''+''. |
||
# |
# Pojawi się okno dialogowe do wprowadzenia nazwy repozytorium, które chcesz dodać. Zalecane piloty pochodzą od głównych programistów FreeCAD i znanych współpracowników: wmayer, yorikvanhavre, ickby, sliptonic, kkremitzki, itp. |
||
# |
# Naciśnij '''Add Remote'''. |
||
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. |
|||
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. |
|||
[[File:Gitkraken-add-remote.gif]] |
[[File:Gitkraken-add-remote.gif]] |
||
= |
<span id="Related"></span> |
||
==Powiązane== |
|||
* [[Source_code_management/pl|Zarządzanie kodem źródłowym]] |
|||
* [[Source code management]] |
|||
* [[ |
* [[Developing_FreeCAD_with_KDevelop/pl|Rozwój FreeCAD z KDevelop]] |
||
[[Category:Developer Documentation{{#translation:}}]] |
[[Category:Developer Documentation{{#translation:}}]] |
Latest revision as of 11:58, 12 November 2023
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
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
- Otwórz GitKraken, przejdź do menu File → Clone Repo, kolejnie wprowadź adres.
- GitKraken wykona teraz operację
git clone
na twoim osobistym repozytorium. Zapoznaj się z różnicą między zdalnym repozytorium origin vs. upstream. Essentially, Twój fork FreeCAD jest repozytoriumorigin
, podczas gdy oficjalne repozytorium FreeCAD jestupstream
. 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ź
FreeCAD/FreeCAD
i kliknij na niego. W polu Name wpiszupstream
. Następnie kliknij przycisk Add Button.
- 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łąź
master
, aby się do niej przełączyć. W wierszu poleceń jest to równoważnegit checkout master
- Kliknij ikonę "Push" w prawym górnym rogu interfejsu. Spowoduje to wypchnięcie Local master do Remote origin master
Interfejs GitKraken
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.
Rebasing
- Sprawdź gałąź Local master, klikając na nią dwukrotnie (
git checkout master
). - Przesuń kursor myszy do ostatniego zatwierdzenia upstream, kliknij prawym przyciskiem myszy i wybierz Rebase master onto upstream/master (
git pull upstream master
). - Teraz naciśnij przycisk Push (
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
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.
- Upewnij się, że aktualnie masz aktywną gałąź master (kliknij ją dwukrotnie,
git checkout master
). W GitKraken gałąź Local master powinna być podświetlona na zielono. - Kliknij przycisk Branch, aby utworzyć nową gałąź i wprowadź jej nową nazwę (
git checkout -b new-name-of-your-branch
).
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 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:
- 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 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.
- GitKraken zapyta, jak chcesz nazwać zdalną gałąź. Domyślną nazwą jest ta sama nazwa, którą gałąź ma lokalnie na komputerze.
- Następnie GitKraken otwiera kolejne okno dialogowe z pytaniem o repozytoria i gałęzie do scalenia oraz kierunek (od i do).
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.
Rozwiązywanie konfliktów scalania
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.
- Zewnętrzne narzędzia do scalania kompatybilne z GitKraken: Beyond Compare, FileMerge, Kaleidoscope, KDiff, Araxis, P4Merge
- Jeśli żadna z powyższych opcji nie działa, można określić Zewnętrzne narzędzia scalania i porównywania w pliku konfiguracyjnym
~/.gitconfig
w katalogu domowym użytkownika.
Squashing commits
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:
- Należy wybrać co najmniej dwa zatwierdzenia do zgniecenia.
- Najmłodsze zatwierdzenie, według daty zatwierdzenia, jest również bieżącym zatwierdzeniem HEAD.
- Genealogicznie następujące po sobie.
- Chronologicznie następujące po sobie.
- Najstarsze zatwierdzenie na liście ma rodzica.
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.
Podążanie za innymi repozytoriami FreeCAD
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
.
- W lewym panelu obok kategorii Remote naciśnij znak +.
- Pojawi się okno dialogowe do wprowadzenia nazwy repozytorium, które chcesz dodać. Zalecane piloty pochodzą od głównych programistów FreeCAD i znanych współpracowników: wmayer, yorikvanhavre, ickby, sliptonic, kkremitzki, itp.
- Naciśnij Add Remote.
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.
Powiązane
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub