|
Lokalizacja w menu |
---|
Web Tools → Git |
Środowisko pracy |
Narzędzia Web |
Domyślny skrót |
brak |
Wprowadzono w wersji |
0.17 |
Zobacz także |
brak |
Opis
To polecenie umożliwia zarządzanie bieżącym dokumentem za pomocą GIT. GIT to potężny system kontroli wersji plików, który może zarządzać różnymi wersjami plików i śledzić zmiany.
Git jest złożonym narzędziem, przed jego użyciem warto zapoznać się z jego podstawami, aby uniknąć błędnych operacji, które mogą spowodować utratę danych. Obfita literatura na temat GIT jest dostępna i łatwa do znalezienia w Internecie.
Wymagania wstępne: Aby móc korzystać z tego polecenia, w systemie musi być zainstalowany pakiet gitpython. W większości dystrybucji Linuksa gitpython jest dostępny w standardowych repozytoriach oprogramowania jako gitpython
lub python-git
.
Użycie
- Upewnij się, że okno Widok raportów jest otwarte, ponieważ będą tam wyświetlane komunikaty Git.
- Zapisz bieżący aktywny dokument, upewniając się, że zapisany plik znajduje się w istniejącym repozytorium git. Może on znajdować się w podkatalogu.
- Wybierz z menu 'Web Tools →
Git'
- Otworzy się Panel zadań w widok połączonym.
Opcje

- Przycisk Log spowoduje wyświetlenie okna dialogowego zawierającego najnowsze wpisy dziennika. Dane wyjściowe odpowiadają
git log
. - Przycisk Odśwież spowoduje ponowne przeskanowanie repozytorium w poszukiwaniu zmienionych plików. Po zapisaniu pracy należy wykonać ręczne odświeżenie.
- Przycisk Porównaj pokaże różnice pomiędzy aktualną wersją wybranego pliku, a najnowszą wersją przechowywaną w repozytorium. Dane wyjściowe odpowiadają
git diff
.- Domyślnie wykonywana jest różnica binarna, musisz skonfigurować narzędzie
fcinfo
do porównywania tekstowego.
- Domyślnie wykonywana jest różnica binarna, musisz skonfigurować narzędzie
- Przycisk Wybierz wszystko spowoduje wybranie wszystkich plików do zatwierdzenia.
- Przycisk Zatwierdź zatwierdzi wybrane pliki. Pamiętaj, aby napisać wiadomość zatwierdzenia opisującą wprowadzane zmiany.
- Przycisk Pull spowoduje pobranie wszelkich nowych zmian w repozytorium z wybranego pilota. Jeśli plik aktualnie otwarty we FreeCAD jest modyfikowany przez ściągnięcie, pojawi się komunikat ostrzegawczy, abyś mógł albo zapisać plik ponownie, albo zapisać go gdzie indziej.
- Przycisk Push spowoduje przesłanie najnowszych zatwierdzeń do wybranego pilota.
Ograniczenia
- Narzędzie nie może jeszcze tworzyć nowych repozytoriów. Musisz mieć już utworzone istniejące lokalne repozytorium. (FreeCAD sprawdzi, czy bieżący plik dokumentu znajduje się w repozytorium Git).
- Narzędzie nie może zmieniać ani tworzyć gałęzi. Należy to zrobić ręcznie za pomocą standardowych narzędzi Git.
Włączenie czytelnych dla człowieka różnic dla plików FCStd za pomocą narzędzia fcinfo
Format pliku FreeCAD FCStd jest formatem binarnym opartym na zip, dla którego Git nie może generować poprawnych różnic. Oznacza to, że nie można zobaczyć, co zmieniło się między jedną wersją a drugą, a także, że każda nowa wersja przechowywana w repozytorium Git jest pełną kopią pliku.
Chociaż drugi problem nie ma obecnie rozwiązania, pierwszy można rozwiązać za pomocą małego narzędzia dostępnego w kodzie źródłowym FreeCAD, o nazwie fcinfo. Git może zostać poproszony o użycie narzędzia fcinfo do wydrukowania przyjaznego dla człowieka raportu pliku FCStd, a gdy zostanie poproszony o porównanie dwóch plików FCStd, zamiast tego wygeneruje porównanie dwóch raportów fcinfo. Należy pamiętać, że jest to tylko wizualna informacja zwrotna, pełna kopia pliku będzie nadal przechowywana wewnętrznie.
Przykładowe porównanie uzyskane za pomocą fcinfo:
diff --git a/testhouse.FcStd b/testhouse.FcStd
index 08077b6..985b1d8 100644
--- a/testhouse.FcStd
+++ b/testhouse.FcStd
@@ -1,26 +1,25 @@
-Document: /tmp/43un09_testhouse.FcStd (442K)
- SHA1: 67c1985a45d93cba57d5bf44490897aba460100d
+Document: /tmp/zfXoDd_testhouse.FcStd (370K)
+ SHA1: db1cb5fca18af7bfdca849028f40550df4d845cb
Comment : This is a test house to showcase FreeCAD's BIM worflow and IFC export capabilities
Company : uncreated.net
CreatedBy : Yorik van Havre
CreationDate : Fri May 9 12:05:54 2014
FileVersion : 1
Id :
- Label : testhouse
- LastModifiedBy : Yorik van Havre
- LastModifiedDate : 2016-06-28T17:05:57-03:00
+ Label : testhouse2
+ LastModifiedBy : Yorik van Havre
+ LastModifiedDate : Sat Sep 13 20:46:36 2014
+
License : CC-BY 3.0
LicenseURL : http://creativecommons.org/licenses/by/3.0/
- ProgramVersion : 0.17R7800 (Git)
- TipName :
+ ProgramVersion : 0.15R3989 (Git)
Uid : 67e62d8a-6674-4358-92fe-615443be887a
- Objects: (231)
+ Objects: (221)
Annotation : Drawing::FeatureViewAnnotation
Annotation001 : Drawing::FeatureViewAnnotation
Annotation002 : Drawing::FeatureViewAnnotation
Annotation003 : Drawing::FeatureViewAnnotation
- Annotation004 : Drawing::FeatureViewAnnotation
- Annotation005 : Drawing::FeatureViewAnnotation
Array : Part::FeaturePython (9K)
Box : Part::Box (2K)
Building : App::DocumentObjectGroupPython
@@ -110,7 +109,7 @@ Document: /tmp/43un09_testhouse.FcStd (442K)
Floor : App::DocumentObjectGroupPython
Floor001 : App::DocumentObjectGroupPython
Floor002 : App::DocumentObjectGroupPython
- Frame : Part::FeaturePython (89K)
Każdy plik FreeCAD zawiera numer sumy kontrolnej SHA1, który zmienia się za każdym razem, gdy plik jest zapisywany, nawet jeśli żadna zawartość nie została zmieniona. Tak więc fcinfo zawsze coś wydrukuje, bez względu na zmiany zawartości.
Aby umożliwić korzystanie z fcinfo (tylko Linux i Mac).
Korzystanie z fcinfo w jednym repozytorium Git
Oto kroki, aby umożliwić korzystanie z narzędzia fcinfo na podstawie repozytorium.
- Zapisz plik fcinfo gdzieś w ścieżce systemowej.
- Uwaga: Od 2023-12-09 w systemach Arch Linux skrypt
fcinfo
jest dołączony do pakietufreecad
, łatka tutaj.
- Uczyń go wykonywalnym.
- Uwaga: Od 2023-12-09 na systemach Arch Linux skrypt
fcinfo
jest dostępny pod adresem/usr/bin/fcinfo
.
- Utwórz plik
.gitattributes
w swoim repozytorium Git i dodaj do niego następujący wiersz:
*.FCStd diff=fcinfo
- Dodaj następujące linie do pliku
.gitconfig
w swoim katalogu domowym:
[diff "fcinfo"] textconv = /path/to/fcinfo
- Alternatywnie, jeśli chcesz wywołać fcinfo z argumentami (np.
--gui
) użyj this approach:
[diff "fcinfo"] textconv = sh -c '/path/to/fcinfo --gui "$0"'XD
Zauważ, że jeśli pracujesz we wspólnym projekcie, możesz chcieć dołączyć narzędzie fcinfo do swojego repozytorium, w takim przypadku ścieżka jest względna do katalogu głównego repozytorium Git.
Włączenie fcinfo globalnie
Jeśli pracujesz nad wieloma projektami, które wymagają narzędzia fcinfo, możesz włączyć je globalnie dla swojego użytkownika.
- Utwórz plik
$HOME/.config/git/attributes
i dodaj do niego następującą linijkę:
*.FCStd diff=fcinfo
- Dodaj następujące linie do pliku
$HOME/.config/git/config
:- Odpowiednik tego polecenia to
git config --global diff.fcinfo.textconv "/path/to/fcinfo"
. - Użytkownicy systemu Arch Linux korzystający z pakietu
freecad
mogą używać{{{1}}}
, ponieważ jest on już zainstalowany w ich systemie.
- Odpowiednik tego polecenia to
[diff "fcinfo"] textconv = /path/to/fcinfo
Zauważ, że wszelkie konfiguracje dokonane na poziomie repozytorium zastępują konfiguracje globalne.
Ta strona pochodzi z https://wiki.freecad.org/WebTools_Git