{"id":5654,"date":"2015-07-15T16:59:59","date_gmt":"2015-07-15T14:59:59","guid":{"rendered":"http:\/\/www.f-sim.de\/?p=5654"},"modified":"2015-07-15T16:59:59","modified_gmt":"2015-07-15T14:59:59","slug":"git-ein-spickzettel-fur-den-alltag","status":"publish","type":"post","link":"https:\/\/www.f-sim.de\/?p=5654","title":{"rendered":"Git &#8211; Ein Spickzettel f\u00fcr den Alltag"},"content":{"rendered":"<p><em>add<\/em>, <em>commit<\/em>, <em>pull<\/em>, <em>push<\/em> und <em>stash<\/em> sind nur einige Begriffe, mit denen sich nicht nur die Entwickler von FDS und Smokeview seit ein paar Tagen besch\u00e4ftigen. Mit dem Wechsel des Versionskontrollsystems d\u00fcrfen sich auch die ambitionierten Anwender des Programms in eine &#8211; vielleicht bisher unbekannte Welt &#8211; begeben.<br \/>\n<!--more--><\/p>\n<p>Im April 2005 konnten die Entwickler des Linux-Kernels aufgrund einer \u00c4nderung der Lizenz die bisherige Versionskontrolle nicht mehr kostenlos nutzen. Linus Torvalds, Initiator sowie treibende Kraft bei der Entwicklung des Linux-Kernels, machte sich daraufhin an die Arbeit und entwickelte innerhalb weniger Tage ein neues Versionskontrollsystem &#8211; <em><strong>Git<\/strong><\/em> war entstanden. Das System zeichnet sich dadurch aus, dass jeder Benutzer eine lokale Kopie des gesamten Repositorys, inklusive der Versionsgeschichte, besitzt. Ein Vorteil davon ist, dass die meisten Aktionen lokal und ohne Netzwerkzugriff ausgef\u00fchrt werden k\u00f6nnen.<\/p>\n<p><strong>Git &#8211; Befehle und Zusammenh\u00e4nge im Schnelldurchlauf<\/strong><\/p>\n<p><center><br \/>\n<a href=\"https:\/\/www.f-sim.de\/wp-content\/uploads\/2015\/07\/Git-cheat-sheet_F-Sim.pdf\" target=\"_blank\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.f-sim.de\/wp-content\/uploads\/2015\/07\/Git-cheat-sheet_F-Sim_web-500x277.png\" alt=\"Git-cheat-sheet_F-Sim_web\" width=\"500\" height=\"277\" class=\"alignnone size-large wp-image-5670\" srcset=\"https:\/\/www.f-sim.de\/wp-content\/uploads\/2015\/07\/Git-cheat-sheet_F-Sim_web.png 500w, https:\/\/www.f-sim.de\/wp-content\/uploads\/2015\/07\/Git-cheat-sheet_F-Sim_web-150x83.png 150w, https:\/\/www.f-sim.de\/wp-content\/uploads\/2015\/07\/Git-cheat-sheet_F-Sim_web-300x166.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/center><\/p>\n<p>F\u00fcr die Nutzung der Versionskontrolle in Bezug auf das Programm Fire Dynamics Simulator sind die nachfolgend beschriebenen Befehle von Bedeutung:<\/p>\n<p>Mit dem Befehl <em><strong>git clone<\/strong><\/em> wird eine lokale Kopie des aktuellen Repository angelegt:<br \/>\n<strong><em>git clone https:\/\/github.com\/firemodels\/fds-smv.git<\/em><\/strong><\/p>\n<p>Mit dem Befehl <em><strong>git status<\/strong><\/em> erh\u00e4lt man eine \u00dcbersicht \u00fcber neue noch nicht versionierte Dateien, \u00fcber \u00c4nderungen an bestehenden (versionierten) Dateien, \u00fcber \u00c4nderungen in der Sammlung (staging), \u00fcber Konflikte und den aktuellen Entwicklungsstrang (brunch).<\/p>\n<p>Die lokale Kopie kann mit dem Befehl <em><strong>git pull<\/strong><\/em> aktualisiert werden. Hierbei werden alle \u00c4nderungen heruntergeladen und Konflikte zwischen der lokalen und entfernten Version zusammengef\u00fchrt.<\/p>\n<p>Bei Konflikten zwischen der lokalen und entfernten Version werden die \u00c4nderungen automatisch zusammengef\u00fcgt und nachfolgend gekennzeichnet:<br \/>\n<em><strong><br \/>\n<<<<<< head\n\u00c4nderung in der heruntergeladenen Kopie\n=======\n\u00c4nderung in der lokalen Kopie\n>>>>>> brunch<br \/>\n<\/strong><\/em><\/p>\n<p>Nach der \u00c4nderung und Beseitigung des Konfliktes durch den Besitzer der lokalen Kopie beziehungsweise bei allgemeinen \u00c4nderungen in einer Datei, ist\/sind diese f\u00fcr die \u00dcbernahme in die n\u00e4chste Version entsprechend zu kennzeichnen (<em><strong>git add [file]<\/strong><\/em>). Soll nun eine oder mehrere Dateien zu einer neuen Version in der lokalen Kopie zusammengefasst werden, ist\/sind dies(e) mit einer entsprechenden Meldung (<em><strong>-m &#8222;[Meldung]&#8220;<\/strong><\/em>) zu versionieren (<em><strong>git commit -m &#8222;[Meldung]&#8220;<\/em><\/strong>).<\/p>\n<p>Existiert neben der lokalen Kopie auch ein zentrales Repository auf einem Server (z.B. <a href=\"http:\/\/github.com\" target=\"_blank\">http:\/\/github.com<\/a>), kann die neue Version der lokale Kopie mit dem Befehl <strong><em>git push<\/em><\/strong> in die zentrale Kopie \u00fcbertragen bzw. \u00fcbergeben werden. Liegen f\u00fcr die zentrale Version keine Schreibrechte vor, k\u00f6nnen die \u00c4nderungen mit dem Befehl <strong><em>git request<\/em><\/strong> dem Eigent\u00fcmer (Entwickler) zur Durchsicht und \u00dcbernahme des Vorschlages zugesendet werden.<\/p>\n<p>Eine Zusammenfassung der Zusammenh\u00e4nge und der wesentlichen Befehle kann dem kleinen Git-<a href=\"https:\/\/www.f-sim.de\/wp-content\/uploads\/2015\/07\/Git-cheat-sheet_F-Sim.pdf\" target=\"_blank\">Spickzettel<\/a> und dem <a href=\"https:\/\/github.com\/firemodels\/fds-smv\/wiki\/Git-Notes\" target=\"_blank\">Wiki<\/a> der FDS-SMV Entwickler entnommen werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>add, commit, pull, push und stash sind nur einige Begriffe, mit denen sich nicht nur die Entwickler von FDS und Smokeview seit ein paar Tagen besch\u00e4ftigen. Mit dem Wechsel des Versionskontrollsystems d\u00fcrfen sich auch die<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,3],"tags":[575,563],"class_list":["post-5654","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-fds","tag-fds","tag-git"],"_links":{"self":[{"href":"https:\/\/www.f-sim.de\/index.php?rest_route=\/wp\/v2\/posts\/5654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.f-sim.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.f-sim.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.f-sim.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.f-sim.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5654"}],"version-history":[{"count":20,"href":"https:\/\/www.f-sim.de\/index.php?rest_route=\/wp\/v2\/posts\/5654\/revisions"}],"predecessor-version":[{"id":5667,"href":"https:\/\/www.f-sim.de\/index.php?rest_route=\/wp\/v2\/posts\/5654\/revisions\/5667"}],"wp:attachment":[{"href":"https:\/\/www.f-sim.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.f-sim.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.f-sim.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}