|
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 |
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
.
git log
.git diff
.
fcinfo
do porównywania tekstowego.
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).
Oto kroki, aby umożliwić korzystanie z narzędzia fcinfo na podstawie repozytorium.
fcinfo
jest dołączony do pakietu freecad
, łatka tutaj.fcinfo
jest dostępny pod adresem /usr/bin/fcinfo
..gitattributes
w swoim repozytorium Git i dodaj do niego następujący wiersz:*.FCStd diff=fcinfo
.gitconfig
w swoim katalogu domowym:[diff "fcinfo"]
textconv = /path/to/fcinfo
--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.
Jeśli pracujesz nad wieloma projektami, które wymagają narzędzia fcinfo, możesz włączyć je globalnie dla swojego użytkownika.
$HOME/.config/git/attributes
i dodaj do niego następującą linijkę:*.FCStd diff=fcinfo
$HOME/.config/git/config
:
git config --global diff.fcinfo.textconv "/path/to/fcinfo"
.freecad
mogą używać {{{1}}}
, ponieważ jest on już zainstalowany w ich systemie.[diff "fcinfo"]
textconv = /path/to/fcinfo
Zauważ, że wszelkie konfiguracje dokonane na poziomie repozytorium zastępują konfiguracje globalne.