{"id":2415,"date":"2022-02-08T16:19:51","date_gmt":"2022-02-08T23:19:51","guid":{"rendered":"https:\/\/blogs.qsc.com\/systems\/?p=2415"},"modified":"2022-02-22T03:28:10","modified_gmt":"2022-02-22T10:28:10","slug":"why-git","status":"publish","type":"post","link":"https:\/\/blogs.qsc.com\/systems\/de\/2022\/02\/08\/wieso-git\/","title":{"rendered":"Wieso Git?"},"content":{"rendered":"<div class=\"trp_language_switcher_shortcode\">\n<div class=\"trp-language-switcher trp-language-switcher-container\" data-no-translation>\n    <div class=\"trp-ls-shortcode-current-language\">\n        <a href=\"#\" class=\"trp-ls-shortcode-disabled-language trp-ls-disabled-language\" title=\"Deutsch\" onclick=\"event.preventDefault()\">\n\t\t\t Deutsch\t\t<\/a>\n    <\/div>\n    <div class=\"trp-ls-shortcode-language\">\n                <a href=\"#\" class=\"trp-ls-shortcode-disabled-language trp-ls-disabled-language\"  title=\"Deutsch\" onclick=\"event.preventDefault()\">\n\t\t\t Deutsch\t\t<\/a>\n                    <a href=\"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts\/2415\" title=\"English\">\n             English        <\/a>\n\n            <a href=\"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts\/2415\" title=\"Fran\u00e7ais\">\n             Fran\u00e7ais        <\/a>\n\n            <a href=\"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts\/2415\" title=\"Espa\u00f1ol\">\n             Espa\u00f1ol        <\/a>\n\n            <a href=\"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts\/2415\" title=\"English (UK)\">\n             English (UK)        <\/a>\n\n        <\/div>\n    <script type=\"application\/javascript\">\n        \/\/ need to have the same with set from JS on both divs. Otherwise it can push stuff around in HTML\n        var trp_ls_shortcodes = document.querySelectorAll('.trp_language_switcher_shortcode .trp-language-switcher');\n        if ( trp_ls_shortcodes.length > 0) {\n            \/\/ get the last language switcher added\n            var trp_el = trp_ls_shortcodes[trp_ls_shortcodes.length - 1];\n\n            var trp_shortcode_language_item = trp_el.querySelector( '.trp-ls-shortcode-language' )\n            \/\/ set width\n            var trp_ls_shortcode_width                                               = trp_shortcode_language_item.offsetWidth + 16;\n            trp_shortcode_language_item.style.width                                  = trp_ls_shortcode_width + 'px';\n            trp_el.querySelector( '.trp-ls-shortcode-current-language' ).style.width = trp_ls_shortcode_width + 'px';\n\n            \/\/ We're putting this on display: none after we have its width.\n            trp_shortcode_language_item.style.display = 'none';\n        }\n    <\/script>\n<\/div>\n<\/div>\n<p>Egal ob Web- oder App-Entwickler: Git hilft allen Codern, \u00c4nderungen an Dateien zu tracken und zu verwalten. Aber wie genau funktioniert Git, und warum sollten Sie es nutzen, um Plug-ins f\u00fcr QSC Communities zu entwickeln oder Dateien zu verwalten?<\/p>\n\n\n\n<p><strong>Was ist Git?<\/strong>&nbsp;<\/p>\n\n\n\n<p>Git ist das weltweit am meisten genutzte System zur Versionskontrolle. Es protokolliert alle \u00c4nderungen, die Sie an einer Datei vornehmen. Der Vorteil daran ist, dass Sie immer ein Protokoll aller \u00c4nderungen zur Hand haben und bei Bedarf zu fr\u00fcheren Dateiversionen zur\u00fcckkehren k\u00f6nnen. Git vereinfacht zudem die Zusammenarbeit mit anderen Entwicklern, weil deren \u00c4nderungen alle in einer Quelldatei zusammengefasst werden. Dadurch ist Git ideal f\u00fcr das gemeinsame Schreiben von Code, aber auch f\u00fcr viele andere Dateiformate. Egal ob Sie also Ihren Code allein schreiben oder im Team arbeiten: Git ist sehr n\u00fctzlich f\u00fcr alle Entwicklungsprojekte.&nbsp;<\/p>\n\n\n\n<br>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-wcbig\"><a href=\"https:\/\/blogs.qsc.com\/systems\/de\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628.png\/\"><img decoding=\"async\" width=\"800\" height=\"419\" src=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png\" alt=\"\" class=\"wp-image-2432\" srcset=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png 800w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-300x157.png 300w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-1024x536.png 1024w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-768x402.png 768w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-1536x804.png 1536w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-2048x1072.png 2048w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-250x131.png 250w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-550x288.png 550w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-344x180.png 344w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-573x300.png 573w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-955x500.png 955w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n\n<br>\n\n\n\n<p>Die Git Software l\u00e4uft grunds\u00e4tzlich lokal. Alle Dateien und deren Versionshistorie werden auf Ihrem Rechner gespeichert. Sie k\u00f6nnen jedoch zus\u00e4tzlich Online-Hosts wie\u00a0<a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>\u00a0oder&amp;nbsp<a href=\"https:\/\/bitbucket.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket<\/a>\u00a0nutzen, um Kopien der Dateien und ihrer Historie online zu speichern. Ein derartiger zentraler Ort im Netz, an dem Sie all ihre Versionen speichern und von dem Sie den Versionsverlauf anderer User herunterladen k\u00f6nnen, vereinfacht die Zusammenarbeit erheblich. Git kann \u00c4nderungen automatisch konsolidieren, sodass zwei Personen sogar an unterschiedlichen Abschnitten derselben Datei arbeiten und ihre \u00c4nderungen sp\u00e4ter zusammenf\u00fchren k\u00f6nnen, ohne dass etwas verloren geht.&nbsp;<\/p>\n\n\n\n<p><strong>Wie Sie Git nutzen k\u00f6nnen<\/strong>&nbsp;<\/p>\n\n\n\n<p>Git l\u00e4sst sich auf folgende Arten nutzen:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00dcber eine Kommandozeile (<a href=\"https:\/\/de.wikipedia.org\/wiki\/Kommandozeile\" target=\"_blank\" rel=\"noreferrer noopener\">Command Line Input<\/a>), auch Terminal genannt&nbsp;&nbsp;<\/li><li>Als Desktopanwendung mit einer grafischen Benutzeroberfl\u00e4che wie &amp;nbsp<a href=\"https:\/\/www.sourcetreeapp.com\/%22%20\/t%20%22_blank\" target=\"_blank\" rel=\"noreferrer noopener\">Sourcetree<\/a>&amp;nbsp(s.u.) oder \u00fcber die <a href=\"https:\/\/desktop.github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Desktop-Version von GitHub<\/a>. In <a href=\"https:\/\/blogs.qsc.com\/systems\/de\/2021\/10\/01\/the-tool-shed-sharing-files-on-the-exchange-with-bitbucket\/\">diesem Artikel<\/a> von Kevin \u00fcber das Teilen von Dateien per SourceTree erfahren Sie zudem, wie Sie Git mit BitBucket kombinieren k\u00f6nnen.&nbsp;<\/li><\/ul>\n\n\n\n<br>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-wcbig\"><a href=\"https:\/\/blogs.qsc.com\/systems\/de\/app\/uploads\/sites\/2\/2022\/02\/Git2.png\/\"><img decoding=\"async\" width=\"800\" height=\"411\" src=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-800x411.png\" alt=\"\" class=\"wp-image-2417\" srcset=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-800x411.png 800w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-300x154.png 300w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-1024x526.png 1024w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-768x394.png 768w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-250x128.png 250w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-550x282.png 550w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-351x180.png 351w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-584x300.png 584w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2-974x500.png 974w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git2.png 1200w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n\n<br>\n\n\n\n<ul class=\"wp-block-list\"><li>Als Erweiterung Ihres Code-Editors. VS Code hat zum Beispiel eine Git-Erweiterung, mit der Sie lokale Dateien in die Cloud laden k\u00f6nnen. Lesen Sie dazu auch die Setup Guides von <a href=\"https:\/\/support.atlassian.com\/bitbucket-cloud\/docs\/get-started-with-vs-code\/\" target=\"_blank\" rel=\"noreferrer noopener\">BitBucket<\/a> und <a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/github\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>.&nbsp;<\/li><\/ul>\n\n\n\n<br>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-wcbig\"><a href=\"https:\/\/blogs.qsc.com\/systems\/de\/app\/uploads\/sites\/2\/2022\/02\/Git3.png\/\"><img decoding=\"async\" width=\"800\" height=\"310\" src=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-800x310.png\" alt=\"\" class=\"wp-image-2418\" srcset=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-800x310.png 800w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-300x116.png 300w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-1024x397.png 1024w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-768x298.png 768w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-250x97.png 250w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-550x213.png 550w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-465x180.png 465w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3-774x300.png 774w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git3.png 1040w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n\n<br>\n\n\n\n<p><strong>Git Repositories<\/strong>&nbsp;<\/p>\n\n\n\n<p>Ein Git-<strong>Repository<\/strong>\u00a0(oder kurz&amp;nbsp<strong>repo<\/strong>) enth\u00e4lt alle Dateien eines Projekts und die gesamte Versionshistorie. Mit Git k\u00f6nnen Sie jeden beliebigen Ordner (etwa den Root-Ordner einer Website) in ein Repository verwandeln. Dabei wird ein&amp;nbsp<strong>.git<\/strong>-Unterordner erstellt, der alle Git-Metadaten f\u00fcr die Versionshistorie enth\u00e4lt.&nbsp;<\/p>\n\n\n\n<p><strong>Stage- &amp; Commit-Dateien<\/strong>&nbsp;<\/p>\n\n\n\n<p>Stellen Sie sich vor, dass Git alle \u00c4nderungen an einer Datei in einer Liste notiert.\u202fWie erf\u00e4hrt Git aber nun, dass eine \u00c4nderung aufgezeichnet werden soll? Jede erfasste \u00c4nderung an einer oder mehreren Dateien nennt man einen \u201eCommit\u201c.&nbsp;<\/p>\n\n\n\n<p>Bevor ein Commit get\u00e4tigt wird, muss man Git mitteilen, welche Dateien betroffen sind. Dieser Vorgang wird als \u201eStaging\u201c bezeichnet und mit dem Terminal-Befehl\u00a0<strong>add<\/strong>\u00a0durchgef\u00fchrt. Warum ist dieser Schritt notwendig? Wieso kann eine Datei nicht direkt \u201acommitted\u2018 werden? Nehmen wir an, dass Sie an einem Projekt mit zwei Dateien arbeiten, aber nur eine davon f\u00fcr einen Commit bereit ist. Dann wollen Sie auch nur diesen einen Commit durchf\u00fchren, nicht zwingend beide. In diesem Fall k\u00f6nnen Sie den&amp;nbsp<strong>add<\/strong>-Befehl von Git nutzen. Mit diesem Befehl werden Dateien zum Staging-Bereich hinzugef\u00fcgt, von wo aus sie dann im Verbund \u201acommitted\u2018 werden k\u00f6nnen.&nbsp;<\/p>\n\n\n\n<p><strong>Remote-Repositories (auf GitHub &amp; Bitbucket)<\/strong>&nbsp;<\/p>\n\n\n\n<p>Wenn Sie eine Kopie Ihres Git-Repository \u00fcber einen Host wie&amp;nbsp<a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>\u00a0oder&amp;nbsp<a href=\"https:\/\/bitbucket.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket<\/a>\u00a0online speichern, erhalten Sie dadurch einen zentralen Ort, an dem Sie all ihre Versionen sammeln und von dem Sie den Versionsverlauf anderer User herunterladen k\u00f6nnen \u2013 was die Zusammenarbeit mit anderen erheblich erleichtert.\u202fIst ein solches Remote-Repository eingerichtet, laden Sie Ihre Dateien und deren Versionshistorie dort hoch.\u202fWenn jemand \u00c4nderungen an einem Remote-Repository vornimmt, k\u00f6nnen Sie diese \u00c4nderungen wiederum in Ihr lokales Repository laden (dieser Vorgang wird \u201ePull\u201c genannt).<\/p>\n\n\n\n<br>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-wcbig\"><a href=\"https:\/\/blogs.qsc.com\/systems\/de\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1.png\/\"><img decoding=\"async\" width=\"800\" height=\"419\" src=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-800x419.png\" alt=\"\" class=\"wp-image-2430\" srcset=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-800x419.png 800w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-300x157.png 300w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-1024x536.png 1024w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-768x402.png 768w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-250x131.png 250w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-550x288.png 550w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-344x180.png 344w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-573x300.png 573w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1-955x500.png 955w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628-1.png 1200w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n\n<br>\n\n\n\n<p><strong>Branchen, Forken &amp; Konsolidieren<\/strong>&nbsp;<\/p>\n\n\n\n<p>Git erm\u00f6glicht Ihnen, von der urspr\u00fcnglichen Codebase abzuweichen (\u201eBranching\u201c). Diese Funktion macht die Zusammenarbeit noch leichter und sorgt f\u00fcr einen flexibleren Workflow.&nbsp;<\/p>\n\n\n\n<p>Hier ist ein Beispiel daf\u00fcr, wie n\u00fctzlich Branchen sein kann: Nehmen wir an, dass Sie an einer neuen Funktion f\u00fcr eine Website arbeiten. Sie erstellen einen neuen Branch und fangen an, ihn zu bearbeiten. Doch dann erhalten Sie eine Anfrage f\u00fcr eine \u00c4nderung an der Website, die so schnell wie m\u00f6glich online gehen muss \u2013 und Sie haben die neue Funktion noch nicht fertiggestellt. In diesem Fall wechseln Sie einfach zum Master-Branch in Git, f\u00fchren die \u00c4nderung durch und stellen sie online. Anschlie\u00dfend k\u00f6nnen Sie zum neuen Branch zur\u00fcckkehren und die Arbeit daran abschlie\u00dfen. Wenn Sie fertig sind, konsolidieren Sie das neue Feature mit dem Master-Branch (\u201eMerging\u201c). Dort sind danach sowohl das neue Feature als auch die zuvor get\u00e4tigte \u00c4nderung vorhanden.&nbsp;<\/p>\n\n\n\n<p>Wenn zwei Online-Branches (oder ein lokaler und ein Remote-Branch) zusammengef\u00fchrt werden, gibt es hin und wieder Konflikte.\u202fSo k\u00f6nnten Sie und ein anderer Entwickler beispielsweise unwissentlich am selben Teil einer Datei arbeiten.\u202fNehmen wir an, der andere Entwickler l\u00e4dt daraufhin seine \u00c4nderungen in das Remote-Repository hoch. Wenn Sie dann seine \u00c4nderungen wiederum in Ihr lokales Repository laden, entsteht ein Merging-Konflikt mit Ihrer eigenen Version. Gl\u00fccklicherweise bietet Git eine Funktion zur L\u00f6sung solcher Konflikte: Ihnen werden beide \u00c4nderungen angezeigt, und Sie entscheiden, welche davon beibehalten werden soll. Wenn Branches zusammengef\u00fchrt werden, muss Git lediglich die Unterschiede zwischen den get\u00e4tigten \u00c4nderungen abgleichen.&nbsp;<\/p>\n\n\n\n<p>Das sogenannte Forken hingegen ist ein deutlich komplexerer Vorgang.\u202fWenn Forks zusammengef\u00fchrt werden, muss Git zwei Codebases miteinander vergleichen, denn ein Fork ist eine Kombination aus zwei Versionen einer kompletten Codebase. W\u00e4hrend beim Branchen nur etwas zu Ihrer bestehenden Struktur hinzugef\u00fcgt wird, wird beim Forken eine vollst\u00e4ndige Kopie Ihres Repository erstellt. &nbsp;<br>&nbsp;<br>Wir empfehlen Nutzern das Forken, wenn Sie etwas zu einem fremden Code-Repository beitragen wollen und die Dateigr\u00f6\u00dfe des Repository kein Problem darstellt.&nbsp;<\/p>\n\n\n\n<p><strong>Pull Requests<\/strong>&nbsp;<\/p>\n\n\n\n<p>Mit einer sogenannten Pull Request k\u00f6nnen Sie \u00c4nderungen von anderen Nutzern genehmigen lassen, bevor diese mit dem restlichen Code konsolidiert werden. Nehmen wir an, dass Sie ein Projekt verwalten. Ein Entwickler nimmt \u00c4nderungen an einem Branch vor oder entscheidet sich, das Repository zu forken. Dann m\u00f6chte er den Branch bzw. den Fork mit dem Master-Repository konsolidieren. In diesem Fall kann er ein Pull Request vornehmen, woraufhin Sie eine Benachrichtigung erhalten, die Sie auffordert, den ge\u00e4nderten Code zu pr\u00fcfen. Sie k\u00f6nnen die \u00c4nderungen kommentieren und entscheiden, ob die Konsolidierung stattfinden darf.&nbsp;<\/p>\n\n\n\n<br>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-wcbig\"><a href=\"https:\/\/blogs.qsc.com\/systems\/de\/app\/uploads\/sites\/2\/2022\/02\/Git5.png\/\"><img decoding=\"async\" width=\"800\" height=\"347\" src=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-800x347.png\" alt=\"\" class=\"wp-image-2420\" srcset=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-800x347.png 800w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-300x130.png 300w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-1024x445.png 1024w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-768x333.png 768w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-250x109.png 250w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-550x239.png 550w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-415x180.png 415w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-691x300.png 691w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5-1152x500.png 1152w, https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Git5.png 1200w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n\n<br>\n\n\n\n<p><strong>Mehr Infos \u00fcber Git<\/strong>&nbsp;<\/p>\n\n\n\n<p>Wir hoffen, dass Ihnen dieser Beitrag ein wenig dabei geholfen hat, Git und seine Vorteile f\u00fcr den Workflow zu verstehen. Sie k\u00f6nnen andernorts noch mehr \u00fcber Git und dessen Nutzen im Zusammenhang mit Q-SYS Programmierungen lernen.&nbsp;<\/p>\n\n\n\n<p><br>Hier sind ein paar weitere Links f\u00fcr Sie:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Einf\u00fchrung in&amp;nbsp<a href=\"https:\/\/docs.github.com\/en\/repositories\/working-with-files\/managing-files\/adding-a-file-to-a-repository\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>&amp;nbspund\u00a0<a href=\"https:\/\/blogs.qsc.com\/systems\/de\/2021\/10\/01\/the-tool-shed-sharing-files-on-the-exchange-with-bitbucket\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket<\/a>&nbsp;<\/li><li>Dateien mit&amp;nbsp<a href=\"https:\/\/docs.github.com\/en\/get-started\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>&amp;nbspund\u00a0<a href=\"https:\/\/blogs.qsc.com\/systems\/de\/2021\/10\/01\/the-tool-shed-sharing-files-on-the-exchange-with-bitbucket\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket\u202f<\/a>teilen (von Kevin Rhodus)&nbsp;<\/li><li>Zusammenarbeit: Code forken mit&amp;nbsp<a href=\"https:\/\/docs.github.com\/en\/get-started\/quickstart\/contributing-to-projects\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>\u00a0oder&amp;nbsp<a href=\"https:\/\/guides.co\/g\/bitbucket-101\/11159\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket<\/a>&nbsp;<\/li><\/ul>\n\n\n\n<p><br>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Egal ob Web- oder App-Entwickler: Git hilft allen Codern, \u00c4nderungen an Dateien zu tracken und zu verwalten. Aber wie genau funktioniert Git, und warum sollten Sie es nutzen, um Plug-ins f\u00fcr QSC Communities zu entwickeln oder Dateien zu verwalten? <a href=\"https:\/\/blogs.qsc.com\/systems\/de\/2022\/02\/08\/wieso-git\/\">Read More<\/a><\/p>","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[28,36],"class_list":["post-2415","post","type-post","status-publish","format-standard","hentry","category-english","tag-german","tag-qsc-communities-for-developers"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Why Git? - Q-SYS<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.qsc.com\/systems\/de\/2022\/02\/08\/why-git\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Git? - Q-SYS\" \/>\n<meta property=\"og:description\" content=\"From web developers to\u202fapplication developers, Git is useful to anyone who writes code or tracks changes to files. So, what is Git all about and why should you start using it for creating plugins or maintaining files for QSC Communities? What is Git?&nbsp; Git is the most used version control system. It tracks any changes &hellip; Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.qsc.com\/systems\/de\/2022\/02\/08\/why-git\/\" \/>\n<meta property=\"og:site_name\" content=\"Q-SYS\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-08T23:19:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-22T10:28:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Adrien Avellan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adrien Avellan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/\",\"url\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/\",\"name\":\"Why Git? - Q-SYS\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.qsc.com\/systems\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png\",\"datePublished\":\"2022-02-08T23:19:51+00:00\",\"dateModified\":\"2022-02-22T10:28:10+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.qsc.com\/systems\/#\/schema\/person\/97c9484a55556008efb850f5b09f35d3\"},\"breadcrumb\":{\"@id\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#primaryimage\",\"url\":\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png\",\"contentUrl\":\"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.qsc.com\/systems\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Git?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.qsc.com\/systems\/#website\",\"url\":\"https:\/\/blogs.qsc.com\/systems\/\",\"name\":\"Q-SYS\",\"description\":\"System Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.qsc.com\/systems\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.qsc.com\/systems\/#\/schema\/person\/97c9484a55556008efb850f5b09f35d3\",\"name\":\"Adrien Avellan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/blogs.qsc.com\/systems\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fe54da0a7e077a2cf3009fda5676288ab7a70a8003f5d36434effc2e4d888f15?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fe54da0a7e077a2cf3009fda5676288ab7a70a8003f5d36434effc2e4d888f15?s=96&d=mm&r=g\",\"caption\":\"Adrien Avellan\"},\"description\":\"Adrien Avellan is the Ecosystem Platform manager for the Alliances &amp; Ecosystem Team at QSC. In his previous roles at QSC, Adrien focused on building customer relationships and enhancing user experience. This led him to his current role, the city planner for \u201cQSC Communities for Developers\u201d, a resource dedicated to \u201cQSC Citizens\u201d comprised of the professionals and organizations that are constantly pushing the bounds of Q-SYS.\",\"url\":\"https:\/\/blogs.qsc.com\/systems\/de\/author\/aavellan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why Git? - Q-SYS","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.qsc.com\/systems\/de\/2022\/02\/08\/why-git\/","og_locale":"de_DE","og_type":"article","og_title":"Why Git? - Q-SYS","og_description":"From web developers to\u202fapplication developers, Git is useful to anyone who writes code or tracks changes to files. So, what is Git all about and why should you start using it for creating plugins or maintaining files for QSC Communities? What is Git?&nbsp; Git is the most used version control system. It tracks any changes &hellip; Read More","og_url":"https:\/\/blogs.qsc.com\/systems\/de\/2022\/02\/08\/why-git\/","og_site_name":"Q-SYS","article_published_time":"2022-02-08T23:19:51+00:00","article_modified_time":"2022-02-22T10:28:10+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/Github-bucket-finals_1200x628.png","type":"image\/png"}],"author":"Adrien Avellan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Adrien Avellan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/","url":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/","name":"Why Git? - Q-SYS","isPartOf":{"@id":"https:\/\/blogs.qsc.com\/systems\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#primaryimage"},"image":{"@id":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png","datePublished":"2022-02-08T23:19:51+00:00","dateModified":"2022-02-22T10:28:10+00:00","author":{"@id":"https:\/\/blogs.qsc.com\/systems\/#\/schema\/person\/97c9484a55556008efb850f5b09f35d3"},"breadcrumb":{"@id":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#primaryimage","url":"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png","contentUrl":"https:\/\/blogs.qsc.com\/app\/uploads\/sites\/2\/2022\/02\/workflow-blog-image_1200x628-800x419.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.qsc.com\/systems\/2022\/02\/08\/why-git\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.qsc.com\/systems\/"},{"@type":"ListItem","position":2,"name":"Why Git?"}]},{"@type":"WebSite","@id":"https:\/\/blogs.qsc.com\/systems\/#website","url":"https:\/\/blogs.qsc.com\/systems\/","name":"Q-SYS","description":"System Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.qsc.com\/systems\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de-DE"},{"@type":"Person","@id":"https:\/\/blogs.qsc.com\/systems\/#\/schema\/person\/97c9484a55556008efb850f5b09f35d3","name":"Adrien Avellan","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/blogs.qsc.com\/systems\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fe54da0a7e077a2cf3009fda5676288ab7a70a8003f5d36434effc2e4d888f15?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe54da0a7e077a2cf3009fda5676288ab7a70a8003f5d36434effc2e4d888f15?s=96&d=mm&r=g","caption":"Adrien Avellan"},"description":"Adrien Avellan ist Ecosystem Platform Manager bei QSC und Teil des Alliances &amp; Ecosystem Teams. In seinen bisherigen Positionen bei QSC war Adrien unter anderem f\u00fcr den Aufbau von Kundenbeziehungen oder die Verbesserung der Nutzererfahrung zust\u00e4ndig, was ihn schlie\u00dflich zu seiner aktuellen Rolle f\u00fchrte: Manager f\u00fcr \u201cQSC Communities for Developers\u201c. Dies ist eine Online-Plattform, die den \u201eQSC Citizens\u201c (Programmierern, Organisationen) Tools bereitstellt, mit denen sie die M\u00f6glichkeiten von Q-SYS optimal nutzen k\u00f6nnen.","url":"https:\/\/blogs.qsc.com\/systems\/de\/author\/aavellan\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts\/2415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/comments?post=2415"}],"version-history":[{"count":0,"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/posts\/2415\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/media?parent=2415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/categories?post=2415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.qsc.com\/systems\/de\/wp-json\/wp\/v2\/tags?post=2415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}