{"id":4049,"date":"2025-03-22T16:40:06","date_gmt":"2025-03-22T15:40:06","guid":{"rendered":"https:\/\/informatik.htwk-leipzig.de\/seminar\/?p=4049"},"modified":"2025-03-24T22:18:43","modified_gmt":"2025-03-24T21:18:43","slug":"github","status":"publish","type":"post","link":"https:\/\/informatik.htwk-leipzig.de\/seminar\/lehrveranstaltungen\/betriebliche-informationssysteme\/2025\/github\/","title":{"rendered":"GitHub"},"content":{"rendered":"<h1><strong>Was ist Versionskontrolle?<\/strong><\/h1>\n<p>Versionskontrolle ist ein System, das \u00c4nderungen an Dateien \u00fcber einen bestimmten Zeitraum hinweg verwaltet und nachverfolgt.Es erm\u00f6glicht mehreren Personen, gemeinsam an einem Projekt zu arbeiten, w\u00e4hrend gleichzeitig eine vollst\u00e4ndige Liste aller Modifikationen erhalten bleibt.\u00c4nderungen an Dateien \u2013 wie Quellcode, Dokumenten oder Konfigurationsdateien \u2013 werden erfasst und in einem Speicherort gespeichert.<\/p>\n<p>Man kann fr\u00fchere Versionen wiederherstellen, Unterschiede zwischen Versionen vergleichen und nachvollziehen, wie sich ein Projekt entwickelt.Die Versionskontrolle unterst\u00fctzt auch Funktionen wie Branching, bei dem unterschiedliche Entwicklungsstr\u00e4nge unabh\u00e4ngig voneinander verlaufen, und Merging, bei dem \u00c4nderungen aus verschiedenen Branches zusammengef\u00fchrt werden.Die Versionskontrolle sorgt daf\u00fcr, dass \u00c4nderungen einfach verwaltet werden k\u00f6nnen. Sie ist ein sehr wichtiges Werkzeug in der Softwareentwicklung und bei gemeinsamen Projekten.<\/p>\n<h1>Git im Vergleich zu anderen Versionskontrollsystemen (VCS)<\/h1>\n<p>Git ist der wichtigste Standard f\u00fcr Versionskontrolle in der Softwareentwicklung. Es gibt aber auch andere Versionskontrollsysteme (VCS). Im Folgenden werden einige wesentliche Unterschiede zwischen Git und anderen verbreiteten VCS erl\u00e4utert:Mercurial: Mercurial ist ein verteiltes Versionskontrollsystem. Es hat eine \u00e4hnliche Architektur wie Git. Aber es ist st\u00e4rker zentralisiert und verwendet keine Hashes zur Verfolgung von \u00c4nderungen.<br \/>\nSubversion (SVN) ist ein Versionskontrollsystem, das oft mit Git verglichen wird. Beide unterst\u00fctzen Branching und Merging, aber f\u00fcr Subversion wird ein zentraler Server zur Verwaltung des Repositories ben\u00f6tigt.Perforce ist ein kommerzielles Versionskontrollsystem, das f\u00fcr gro\u00dfe Entwicklungsprojekte gemacht wurde. Es basiert auf einem zentralisierten Ansatz und bietet zus\u00e4tzliche Funktionen wie Build-Automatisierung und Issue-Tracking.<\/p>\n<p>CVS (Concurrent Versions System): CVS ist ein \u00e4lteres Versionskontrollsystem, das weiterhin verwendet wird.Es hat jedoch zahlreiche Einschr\u00e4nkungen, da es viele moderne Funktionen nicht unterst\u00fctzt. Daher wird es oft als veraltet betrachtet.<\/p>\n<h2><strong>Welche M\u00f6glichkeiten oder Funktionen bietet GitHub<\/strong><\/h2>\n<p>GitHub bietet zahlreiche M\u00f6glichkeiten und Funktionen, die sich in verschiedene Bereiche gliedern lassen. Im Folgenden werden wir die wichtigsten Funktionalit\u00e4ten zusammenfassen:<\/p>\n<h3 data-start=\"179\" data-end=\"213\">1. <strong data-start=\"186\" data-end=\"211\">Repository-Verwaltung<\/strong><\/h3>\n<ul data-start=\"214\" data-end=\"455\">\n<li data-start=\"214\" data-end=\"286\">Erstellung und Verwaltung von \u00f6ffentlichen und privaten Repositories<\/li>\n<li data-start=\"287\" data-end=\"317\">Versionskontrolle \u00fcber Git<\/li>\n<li data-start=\"318\" data-end=\"388\">Unterst\u00fctzung f\u00fcr Readme-Dateien, Lizenzdateien und Issue-Vorlagen<\/li>\n<li data-start=\"389\" data-end=\"455\">Integration von Git Large File Storage (LFS) f\u00fcr gro\u00dfe Dateien<\/li>\n<\/ul>\n<h3 data-start=\"457\" data-end=\"506\">2. <strong data-start=\"464\" data-end=\"504\">Zusammenarbeit und Projektmanagement<\/strong><\/h3>\n<ul data-start=\"507\" data-end=\"865\">\n<li data-start=\"507\" data-end=\"575\">Issues zur Erfassung von Aufgaben, Fehlern und Funktionsw\u00fcnschen<\/li>\n<li data-start=\"576\" data-end=\"658\">Pull Requests zur Einreichung von \u00c4nderungen und deren gemeinsamer \u00dcberpr\u00fcfung<\/li>\n<li data-start=\"659\" data-end=\"728\">Code-Reviews mit Kommentarfunktion und vorgeschriebenen Reviewern<\/li>\n<li data-start=\"729\" data-end=\"789\">Discussions f\u00fcr offene Gespr\u00e4che und Community-Austausch<\/li>\n<li data-start=\"790\" data-end=\"865\">Projektboards (Kanban) zur Organisation und Visualisierung von Aufgaben<\/li>\n<\/ul>\n<h3 data-start=\"867\" data-end=\"934\">3. <strong data-start=\"874\" data-end=\"932\">Continuous Integration \/ Continuous Deployment (CI\/CD)<\/strong><\/h3>\n<ul data-start=\"935\" data-end=\"1121\">\n<li data-start=\"935\" data-end=\"1012\">GitHub Actions zur Automatisierung von Build-, Test- und Deploy-Prozessen<\/li>\n<li data-start=\"1013\" data-end=\"1071\">Nutzung von Workflows und benutzerdefinierten Aktionen<\/li>\n<li data-start=\"1072\" data-end=\"1121\">Vorlagen f\u00fcr g\u00e4ngige Automatisierungsaufgaben<\/li>\n<\/ul>\n<h3 data-start=\"1123\" data-end=\"1157\">4. <strong data-start=\"1130\" data-end=\"1155\">Sicherheitsfunktionen<\/strong><\/h3>\n<ul data-start=\"1158\" data-end=\"1419\">\n<li data-start=\"1158\" data-end=\"1208\">Dependabot f\u00fcr automatische Sicherheitsupdates<\/li>\n<li data-start=\"1209\" data-end=\"1276\">Code Scanning zur Analyse und Identifikation von Schwachstellen<\/li>\n<li data-start=\"1277\" data-end=\"1350\">Secret Scanning zur Erkennung sensibler Informationen in Repositories<\/li>\n<li data-start=\"1351\" data-end=\"1419\">Sicherheitsrichtlinien und Meldefunktionen f\u00fcr Sicherheitsl\u00fccken<\/li>\n<\/ul>\n<h3 data-start=\"1421\" data-end=\"1462\">5. <strong data-start=\"1428\" data-end=\"1460\">Ver\u00f6ffentlichung und Hosting<\/strong><\/h3>\n<ul data-start=\"1463\" data-end=\"1613\">\n<li data-start=\"1463\" data-end=\"1542\">GitHub Pages f\u00fcr das Hosten von statischen Websites direkt aus Repositories<\/li>\n<li data-start=\"1543\" data-end=\"1613\">Releases zur strukturierten Ver\u00f6ffentlichung von Softwareversionen<\/li>\n<\/ul>\n<h3 data-start=\"1615\" data-end=\"1643\">6. <strong data-start=\"1622\" data-end=\"1641\">Paketverwaltung<\/strong><\/h3>\n<ul data-start=\"1644\" data-end=\"1738\">\n<li data-start=\"1644\" data-end=\"1738\">GitHub Packages als integrierte Paketverwaltung f\u00fcr npm, Maven, Docker, RubyGems und NuGet<\/li>\n<\/ul>\n<h3 data-start=\"1740\" data-end=\"1792\">7. <strong data-start=\"1747\" data-end=\"1790\">Verwaltung von Teams und Organisationen<\/strong><\/h3>\n<ul data-start=\"1793\" data-end=\"1950\">\n<li data-start=\"1793\" data-end=\"1864\">Verwaltung von Organisationen mit Teams, Rollen und Zugriffsrechten<\/li>\n<li data-start=\"1865\" data-end=\"1950\">Audit Logs zur \u00dcberwachung von Aktivit\u00e4ten in Organisationen (im Enterprise-Plan)<\/li>\n<\/ul>\n<h3 data-start=\"1952\" data-end=\"1996\">8. <strong data-start=\"1959\" data-end=\"1994\">Erweiterungen und Integrationen<\/strong><\/h3>\n<ul data-start=\"1997\" data-end=\"2210\">\n<li data-start=\"1997\" data-end=\"2065\">GitHub Marketplace mit einer Vielzahl von Apps und Integrationen<\/li>\n<li data-start=\"2066\" data-end=\"2140\">Webhooks f\u00fcr automatische Benachrichtigungen und externe Verkn\u00fcpfungen<\/li>\n<li data-start=\"2141\" data-end=\"2210\">API-Zugriff zur Automatisierung und Integration in andere Systeme<\/li>\n<\/ul>\n<h3 data-start=\"2212\" data-end=\"2249\">9. <strong data-start=\"2219\" data-end=\"2247\">Statistiken und Analysen<\/strong><\/h3>\n<ul data-start=\"2250\" data-end=\"2395\">\n<li data-start=\"2250\" data-end=\"2330\">Insights f\u00fcr Repositories (Contributions, Commits, Pull-Request-Aktivit\u00e4ten)<\/li>\n<li data-start=\"2331\" data-end=\"2395\">Traffic-Analyse und Auswertung von Referrern und Popularit\u00e4t<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h1><strong>GitHub Pricing<\/strong><\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4050\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/github-pricing-300x258.png\" alt=\"\" width=\"300\" height=\"258\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/github-pricing-300x258.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/github-pricing-1024x880.png 1024w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/github-pricing-768x660.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/github-pricing.png 1065w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>GitHub Free<\/h2>\n<p><strong>Zielgruppe:<\/strong> Einzelpersonen und Hobbyentwickler*innen<\/p>\n<h3><strong>Wichtige Merkmale:<\/strong><\/h3>\n<ul>\n<li>Unbegrenzte \u00f6ffentliche und private Repositories<\/li>\n<li>500 MB Speicherplatz f\u00fcr GitHub Packages<\/li>\n<li>2.000 CI\/CD-Minuten pro Monat (GitHub Actions)<\/li>\n<li>Basisfunktionalit\u00e4ten f\u00fcr Issues und Projektmanagement<\/li>\n<li>Community-Support<\/li>\n<li>Eingeschr\u00e4nkter Zugriff auf erweiterte Sicherheitsfunktionen<\/li>\n<\/ul>\n<h3><strong>Einschr\u00e4nkungen:<\/strong><\/h3>\n<ul>\n<li>Nur f\u00fcr kleine Projekte oder pers\u00f6nliche Nutzung sinnvoll<\/li>\n<li>Keine erweiterten Berechtigungsstufen<\/li>\n<li>Geringere Speicherkapazit\u00e4t und weniger Workflow-Minuten<\/li>\n<\/ul>\n<h2>GitHub Team<\/h2>\n<p><strong>Zielgruppe:<\/strong> Kleine und mittelgro\u00dfe Entwicklungsteams<\/p>\n<h3><strong>Wichtige Merkmale:<\/strong><\/h3>\n<ul>\n<li>Alle Funktionen des Free-Plans<\/li>\n<li>2 GB Speicherplatz f\u00fcr GitHub Packages<\/li>\n<li>3.000 CI\/CD-Minuten pro Monat<\/li>\n<li>Erweiterte Berechtigungen und Rollenverwaltung<\/li>\n<li>Private Repositories mit Pull-Request-Vorlagen<\/li>\n<li>Team-Dashboards und erweiterte Projektmanagement-Funktionen<\/li>\n<li>Standard-Support<\/li>\n<li>Code-Review-Funktionen (required reviewers, code owners)<\/li>\n<li>Zugriff auf Dependabot-Sicherheitsupdates<\/li>\n<\/ul>\n<h3><strong>Einschr\u00e4nkungen:<\/strong><\/h3>\n<ul>\n<li>Eingeschr\u00e4nkter Zugriff auf Enterprise-spezifische Sicherheits- und Compliance-Funktionen<\/li>\n<li>Keine erweiterte SAML-Authentifizierung<\/li>\n<\/ul>\n<h2><strong> GitHub Enterprise<\/strong><\/h2>\n<p><strong>Zielgruppe:<\/strong> Gro\u00dfe Organisationen, Unternehmen und Konzerne mit hohen Sicherheits- und Compliance-Anforderungen<\/p>\n<h3><strong>Wichtige Merkmale:<\/strong><\/h3>\n<ul>\n<li>Alle Funktionen des Team-Plans<\/li>\n<li>Individuell skalierbare CI\/CD-Minuten und Speicher (nach Vereinbarung)<\/li>\n<li>Erweiterte Sicherheitsfunktionen (Advanced Security, Code Scanning, Secret Scanning)<\/li>\n<li>SAML Single Sign-On (SSO) und SCIM f\u00fcr Benutzer-Management<\/li>\n<li>Audit-Logs, Compliance-Tools und Governance-Funktionen<\/li>\n<li>IP-Adressfilterung und GitHub Connect f\u00fcr hybride Infrastrukturen<\/li>\n<li>Priorisierter Enterprise-Support und dedizierte Ansprechpartner<\/li>\n<li>GitHub Enterprise Cloud und GitHub Enterprise Server verf\u00fcgbar<\/li>\n<\/ul>\n<h3><strong>Einschr\u00e4nkungen:<\/strong><\/h3>\n<ul>\n<li>Erfordert hohe Investitionsbereitschaft und entsprechende IT-Infrastruktur<\/li>\n<li>Komplexere Einrichtung und Wartung<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h1>GitHub Copilot<strong><br \/>\n<\/strong><\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4052\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot-button-300x71.png\" alt=\"\" width=\"300\" height=\"71\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot-button-300x71.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot-button.png 671w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>GitHub Copilot Free<\/h2>\n<p>Die Software Copilot Free stellt ein leistungsf\u00e4higes Werkzeug zur Verf\u00fcgung, das insbesondere Entwicklerinnen und Entwicklern bei der Programmierung unterst\u00fctzt. Durch die Integration in verschiedene Entwicklungsumgebungen werden automatisierte Code-Vervollst\u00e4ndigungen, Bearbeitungsvorschl\u00e4ge und intelligente Chat-Funktionen erm\u00f6glicht.Die Software ist jedoch in ihrer Funktionalit\u00e4t eingeschr\u00e4nkt und daher insbesondere f\u00fcr private oder kleine Projekte geeignet. F\u00fcr Unternehmen hingegen fehlen erweiterte Funktionen.<\/p>\n<p>Copilot Free bietet verschiedene Funktionen, die die Softwareentwicklung vereinfachen, zu den wichtigsten Merkmalen geh\u00f6ren die automatische Code-Vervollst\u00e4ndigung in g\u00e4ngigen Entwicklungsumgebungen wie Visual Studio Code, Visual Studio, JetBrains IDEs, Vim\/Neovim, Xcode und Azure Data Studio. In Visual Studio Code werden dar\u00fcber hinaus Bearbeitungsvorschl\u00e4ge f\u00fcr die wahrscheinlich n\u00e4chste \u00c4nderung sowie die Funktion Copilot Edits f\u00fcr \u00c4nderungen in mehreren Dateien bereitgestellt.Der Copilot-Chat kann in Visual Studio Code, Visual Studio, JetBrains IDEs, auf GitHub Mobile und GitHub.com verwendet werden. Individuelle Anweisungen und die Nutzung von Prompt-Dateien sind ebenfalls integriert, jedoch teilweise auf bestimmte Plattformen beschr\u00e4nkt.<\/p>\n<p>Dar\u00fcber hinaus umfasst es die Nutzung im CLI, im Windows Terminal sowie die M\u00f6glichkeit, Vorschl\u00e4ge zu blockieren, die \u00f6ffentlichem Code entsprechen.Zudem erhalten Nutzerinnen und Nutzer Zugang zu modernen KI-Modellen wie Claude Sonnet 3.5, Gemini 2.0 Flash und o3-mini sowie die M\u00f6glichkeit, Copilot-Erweiterungen in verschiedenen Plattformen zu nutzen.Die Nutzung von Copilot Free ist jedoch begrenzt. Pro Monat sind lediglich 2000 Code-Vervollst\u00e4ndigungen und 50 Chat-Nachrichten m\u00f6glich, was auch f\u00fcr die Verwendung in der Kommandozeile und im Windows Terminal G\u00fcltigkeit besitzt.<\/p>\n<p>Die Nutzung von Copilot Free ist jedoch limitiert, da pro Monat lediglich 2000 Code-Vervollst\u00e4ndigungen und 50 Chat-Nachrichten m\u00f6glich sind. Diese Limitationen gelten gleicherma\u00dfen f\u00fcr die Verwendung in der Kommandozeile sowie im Windows Terminal.<\/p>\n<p>Aufgrund fehlender Funktionen wie Zugriffskontrolle, Audit-Logs, Richtlinienmanagement, Datei-Ausschl\u00fcsse, Nutzungsdaten und rechtlicher Schutz (Indemnifizierung) ist Copilot Free f\u00fcr den Unternehmenseinsatz nicht geeignet.<\/p>\n<p>&nbsp;<\/p>\n<h2>GitHub Copilot Pro<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4054\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot-300x262.png\" alt=\"\" width=\"300\" height=\"262\" srcset=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot-300x262.png 300w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot-768x670.png 768w, https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2025\/03\/Copilot.png 909w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>GitHub Copilot Pro bietet im Vergleich zur kostenlosen Version erweiterte Funktionen, die vor allem professionelle Entwickler und Teams ansprechen.<\/p>\n<ol>\n<li><strong> Erweiterte Code-Vervollst\u00e4ndigungen<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Intelligentere und kontextbezogene Vorschl\u00e4ge<\/strong>: Copilot Pro bietet genauere und relevantere Code-Vervollst\u00e4ndigungen, die auf den gesamten Code und Kontext abgestimmt sind.<\/li>\n<li><strong>Unterst\u00fctzung f\u00fcr mehr Programmiersprachen<\/strong>: Copilot Pro unterst\u00fctzt eine gr\u00f6\u00dfere Anzahl an Programmiersprachen und Frameworks, was es f\u00fcr eine breitere Palette an Projekten geeignet macht.<\/li>\n<\/ul>\n<ol start=\"2\">\n<li><strong> Copilot Chat<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Interaktive Konversation<\/strong>: Copilot Pro erm\u00f6glicht die Nutzung von Copilot Chat, bei dem Entwickler mit dem Tool in nat\u00fcrlicher Sprache kommunizieren k\u00f6nnen, um Fragen zu kl\u00e4ren oder Code zu verbessern.<\/li>\n<li><strong>Verf\u00fcgbarkeit in mehr IDEs<\/strong>: Copilot Chat ist in <strong>Visual Studio, Visual Studio Code, JetBrains IDEs<\/strong> und GitHub.com verf\u00fcgbar.<\/li>\n<\/ul>\n<ol start=\"3\">\n<li><strong> Individuelle Anweisungen<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Anpassung der Code-Vervollst\u00e4ndigung<\/strong>: Entwickler k\u00f6nnen individuelle Anweisungen und Pr\u00e4ferenzen festlegen, um die Vorschl\u00e4ge besser an ihre Arbeitsweise und den spezifischen Projektbedarf anzupassen.<\/li>\n<\/ul>\n<ol start=\"4\">\n<li><strong> Erweiterte Funktionen in der Codebearbeitung<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Multi-File Editing<\/strong>: Copilot Pro unterst\u00fctzt die Bearbeitung und Verbesserung von Code \u00fcber mehrere Dateien hinweg.<\/li>\n<li><strong>Projektspezifische Vorschl\u00e4ge<\/strong>: Die Vorschl\u00e4ge ber\u00fccksichtigen spezifische Projektanforderungen und Strukturen.<\/li>\n<\/ul>\n<ol start=\"5\">\n<li><strong> Kollaborative Funktionen<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Team- und Projektarbeit<\/strong>: Copilot Pro erm\u00f6glicht die bessere Integration in Teamarbeit und das gemeinsame Bearbeiten von Code in gro\u00dfen Projekten.<\/li>\n<li><strong>Verkn\u00fcpfung von Teamdaten<\/strong>: Funktionen zur Verwaltung von Codes und Projekten auf Teamebene werden unterst\u00fctzt, einschlie\u00dflich Benutzerrollen und Berechtigungen.<\/li>\n<\/ul>\n<ol start=\"6\">\n<li><strong> Erweiterter Zugang zu Modellen<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Zugang zu leistungsst\u00e4rkeren Modellen<\/strong>: Copilot Pro bietet Zugang zu fortgeschrittenen Sprachmodellen (z.B. GPT-4-basierte Modelle) f\u00fcr genauere und leistungsf\u00e4higere Vorschl\u00e4ge.<\/li>\n<\/ul>\n<ol start=\"7\">\n<li><strong> Sicherheit und Compliance<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Bessere Sicherheitsfunktionen<\/strong>: Copilot Pro bietet fortschrittlichere Sicherheitsfunktionen wie die Erkennung und Vermeidung von unsicherem Code und Datenschutzproblemen.<\/li>\n<li><strong>Verwendung in Unternehmensumgebungen<\/strong>: Die Pro-Version bietet erweiterte M\u00f6glichkeiten f\u00fcr die Verwaltung von Teams, die Nachverfolgung von \u00c4nderungen und die Einhaltung von Standards.<\/li>\n<\/ul>\n<ol start=\"8\">\n<li><strong> Integration mit weiteren Tools<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Erweiterte Integrationen<\/strong>: Copilot Pro l\u00e4sst sich besser mit anderen Entwicklungs- und CI\/CD-Tools integrieren, was den Workflow in gr\u00f6\u00dferen Teams verbessert.<\/li>\n<\/ul>\n<ol start=\"9\">\n<li><strong> Priorisierte Unterst\u00fctzung<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Schnellere Hilfe<\/strong>: Copilot Pro bietet priorisierten Support bei Problemen oder Fragen, was insbesondere f\u00fcr professionelle Entwicklerteams von Vorteil ist.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h1><strong>GitHub Projects<\/strong><\/h1>\n<p>GitHub Projects ist ein flexibles Projektmanagement-Tool, das direkt in GitHub-Repositories integriert ist. Es erm\u00f6glicht Teams, anpassbare Projektboards zu erstellen, Issues und Pull Requests zu verfolgen und Workflows mithilfe von Kanban-Spalten oder Tabellenansichten zu verwalten. Mit Funktionen wie automatisierten Workflows, benutzerdefinierten Feldern und verschiedenen Visualisierungsoptionen hilft GitHub Projects Teams dabei, Arbeit \u00fcber mehrere Repositories hinweg zu organisieren, zu priorisieren und zu verfolgen. Dieses Tool verbessert die Zusammenarbeit, erh\u00f6ht die Transparenz und optimiert Projektmanagement-Prozesse, sodass Entwickler und Stakeholder leichter auf Projektziele und Fortschritte abgestimmt bleiben k\u00f6nnen.<\/p>\n<p>Es beinhaltet Folgendes:<\/p>\n<h3><strong>1-Projektplanung<\/strong><\/h3>\n<h3><strong>2-Kanban-Boards<\/strong><\/h3>\n<h3><strong>3-Roadmaps<\/strong><\/h3>\n<h3><strong>4-Automatisierungen<\/strong><\/h3>\n<h3><\/h3>\n<h2><strong>1-<\/strong><strong>Projektplanung<\/strong><\/h2>\n<p>Die Projektplanung auf GitHub ist ein umfassender Prozess, der die integrierten Tools der Plattform nutzt, um Softwareentwicklungsprojekte effizient zu organisieren, zu verfolgen und zu verwalten. Typischerweise werden Funktionen wie <strong>Issues<\/strong> zur Aufgabenverfolgung, <strong>Projects<\/strong> f\u00fcr Kanban-Boards, <strong>Milestones<\/strong> zur Gruppierung verwandter Issues und Pull Requests sowie <strong>Labels<\/strong> zur Kategorisierung verwendet. Diese Tools, kombiniert mit den kollaborativen Funktionen von GitHub wie Pull Requests und Code Reviews, erm\u00f6glichen es Teams, strukturierte Workflows zu erstellen, Priorit\u00e4ten festzulegen, Aufgaben zuzuweisen und den Fortschritt w\u00e4hrend des gesamten Entwicklungslebenszyklus zu \u00fcberwachen. Indem das Projektmanagement auf derselben Plattform zentralisiert wird, die auch f\u00fcr die Versionskontrolle verwendet wird, vereinfacht GitHub die Kommunikation und steigert die Produktivit\u00e4t von Entwicklungsteams jeder Gr\u00f6\u00dfe.<\/p>\n<p><strong>Wichtige Punkte:<\/strong><\/p>\n<ul>\n<li><strong>Meilensteine:<\/strong> Diese werden verwendet, um verwandte Issues und Pull Requests unter einem bestimmten Ziel zu gruppieren, wie z. B. ein Feature-Release oder eine Projektphase (z. B. \u201eAlpha-Version\u201c).<\/li>\n<li><strong>Issues:<\/strong> Dies sind einzelne Aufgaben oder Fehler, die gel\u00f6st werden m\u00fcssen, um den Meilenstein zu erreichen.<\/li>\n<li><strong>Projektboards:<\/strong> K\u00f6nnen verwendet werden, um die Aufgaben und den Fortschritt zu visualisieren.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Beispiel:<\/strong><\/p>\n<ul>\n<li><strong>Meilenstein:<\/strong> \u201eVersion 1.0 Release\u201c (F\u00e4lligkeitsdatum: 30. April)\n<ul>\n<li>Aufgaben wie:\n<ul>\n<li>Issue 1: API-Integration implementieren<\/li>\n<li>Issue 2: Unit-Tests schreiben<\/li>\n<li>Issue 3: Frontend-UI gestalten<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Jede Aufgabe wird verfolgt, um sicherzustellen, dass das Projekt den Termin einh\u00e4lt.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong>2-<\/strong><strong>Kanban-Boards<\/strong><\/h2>\n<p>Auf GitHub bieten Kanban-Boards eine visuelle Darstellung von Issues, w\u00e4hrend sie sich durch den Entwicklungsprozess bewegen.<\/p>\n<p>Ein Kanban-Board besteht typischerweise aus Spalten, die verschiedene Phasen oder Zust\u00e4nde darstellen, wie z. B. \u201eTo-Do\u201c (Zu erledigen), \u201eIn Progress\u201c (In Bearbeitung) und \u201eDone\u201c (Erledigt). Jeder Issue wird durch eine Karte auf dem Board dargestellt, die zwischen den Spalten verschoben werden kann, sobald sich der Zustand \u00e4ndert. Benutzer k\u00f6nnen die Issue-Karten per Drag-and-Drop von einer Spalte in eine andere verschieben, um den Fortschritt oder den Abschluss widerzuspiegeln.<\/p>\n<p><strong>Wichtige Punkte:<\/strong><\/p>\n<ul>\n<li><strong>Spalten:<\/strong> Sie repr\u00e4sentieren verschiedene Phasen im Workflow, wie z. B. \u201eTo-Do\u201c (Zu erledigen), \u201eIn Progress\u201c (In Bearbeitung) und \u201eDone\u201c (Erledigt).<\/li>\n<li><strong>Drag-and-Drop:<\/strong> Sie k\u00f6nnen Issues zwischen den Spalten verschieben, w\u00e4hrend sie die verschiedenen Phasen durchlaufen.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Beispiel:<\/strong><\/p>\n<ul>\n<li><strong>To-Do:<\/strong>\n<ul>\n<li>Issue 1: Benutzerauthentifizierung einrichten<\/li>\n<li>Issue 2: Wetter-API hinzuf\u00fcgen<\/li>\n<\/ul>\n<\/li>\n<li><strong>In Progress:<\/strong>\n<ul>\n<li>Issue 3: Login-Seite gestalten<\/li>\n<\/ul>\n<\/li>\n<li><strong>Done:<\/strong>\n<ul>\n<li>Issue 4: Dokumentation schreiben<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>W\u00e4hrend sich die <strong>Projektplanung<\/strong> darauf konzentriert, die \u00fcbergeordneten Ziele und Aufgaben zu definieren, um diese Ziele zu erreichen, liegt der Fokus von <strong>Kanban-Boards<\/strong> auf dem aktuellen Status und Fortschritt dieser Aufgaben.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>3-<\/strong><strong>Roadmaps<\/strong><\/h2>\n<p>GitHub Roadmaps sind eine Funktion, die Ihnen dabei hilft, Pl\u00e4ne f\u00fcr Ihre Projekte zu visualisieren und zu organisieren. Sie erm\u00f6glichen es, eine \u00fcbergreifende \u00dcbersicht \u00fcber Meilensteine und Ziele zu erstellen und mit Teammitgliedern an der Planung und Fortschrittsverfolgung zusammenzuarbeiten.<\/p>\n<h3><strong>Beispiel:<\/strong><\/h3>\n<p>Stellen Sie sich vor, Sie planen die Roadmap f\u00fcr Ihr WeatherApp-Projekt f\u00fcr die n\u00e4chsten 6 Monate. Sie k\u00f6nnen Meilensteine erstellen, um wichtige Phasen darzustellen, wie z. B.:<\/p>\n<ul>\n<li><strong>Meilenstein 1: Alpha-Version<\/strong>\n<ul>\n<li>Features: Grundlegende Wetterdatenerfassung.<\/li>\n<li>F\u00e4lligkeitsdatum: 1. Mai<\/li>\n<\/ul>\n<\/li>\n<li><strong>Meilenstein 2: Beta-Version<\/strong>\n<ul>\n<li>Features: Vollst\u00e4ndige API-Integration und Mobile-App-Design.<\/li>\n<li>F\u00e4lligkeitsdatum: 1. Juli<\/li>\n<\/ul>\n<\/li>\n<li><strong>Meilenstein 3: Version 1.0<\/strong>\n<ul>\n<li>Features: Alle Kernfunktionen, optimiertes UI\/UX und umfassende Tests.<\/li>\n<li>F\u00e4lligkeitsdatum: 1. September<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Die Roadmap zeigt eine \u00dcbersicht \u00fcber die wichtigsten Ziele und Fristen und hilft dem Team, auf Kurs zu bleiben. Sie k\u00f6nnen einzelne Issues mit diesen Meilensteinen verkn\u00fcpfen, um sicherzustellen, dass die Aufgaben mit den Projektzielen \u00fcbereinstimmen.<\/p>\n<h3><strong>4-<\/strong><strong>Automatisierungen<\/strong><\/h3>\n<p>Um Ihrem GitHub-Projekt Automatisierung hinzuzuf\u00fcgen, k\u00f6nnen Sie integrierte Workflows verwenden, die Aktionen ausl\u00f6sen, wie z. B. das Setzen von Feldern bei \u00c4nderungen an Elementen oder das Archivieren von Elementen, die bestimmte Kriterien erf\u00fcllen. Sie k\u00f6nnen auch die automatische Hinzuf\u00fcgung von Elementen aus Repositories basierend auf \u00fcbereinstimmenden Kriterien konfigurieren<\/p>\n<h3><strong>Beispiel:<\/strong><\/h3>\n<p>Angenommen, Sie m\u00f6chten die Aufgabenverfolgung automatisieren und Issues basierend auf dem Status von Pull Requests (PRs) durch den Workflow bewegen.<\/p>\n<p>Sie k\u00f6nnen eine Automatisierungsregel einrichten, wie z. B.:<\/p>\n<ul>\n<li><strong>Wenn ein PR gemerged wird, wird das zugeh\u00f6rige Issue automatisch in die Spalte \u201eDone\u201c verschoben.<\/strong><\/li>\n<\/ul>\n<p>Ein weiteres Beispiel ist das automatische Hinzuf\u00fcgen von Labels:<\/p>\n<ul>\n<li><strong>Wenn ein Bug gemeldet wird, wird das Label \u201ebug\u201c automatisch zum Issue hinzugef\u00fcgt.<\/strong><\/li>\n<li><strong>Wenn eine Aufgabe zugewiesen wird, k\u00f6nnte das System automatisch ein \u201eHigh Priority\u201c-Label zuweisen.<\/strong><\/li>\n<\/ul>\n<p>Dies k\u00f6nnte mit <strong>GitHub Actions<\/strong> umgesetzt werden, um diese \u00c4nderungen basierend auf definierten Kriterien (z. B. PR-Merge) auszul\u00f6sen.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Git Hooks<\/strong><\/h3>\n<p>Git Hooks sind Skripte, die automatisch an bestimmten Punkten w\u00e4hrend des Git-Workflows ausgef\u00fchrt werden, z. B. wenn Sie \u00c4nderungen committen, pushen oder aus einem Repository pullen. Diese Skripte k\u00f6nnen verwendet werden, um verschiedene Aufgaben auszuf\u00fchren, wie z. B. Code zu validieren, Dateien zu formatieren oder sogar Benachrichtigungen zu senden.<\/p>\n<p>Es gibt zwei Arten von Git Hooks:<\/p>\n<ol>\n<li><strong>Client-seitige Hooks:<\/strong> Werden auf Ihrem lokalen Rechner ausgef\u00fchrt, bevor \u00c4nderungen committet werden.<\/li>\n<li><strong>Server-seitige Hooks:<\/strong> Werden auf dem Remote-Server ausgef\u00fchrt, wenn Sie \u00c4nderungen pushen.<\/li>\n<\/ol>\n<p>Git Hooks sind anpassbare Skripte, die Git automatisch vor oder nach bestimmten Ereignissen ausf\u00fchrt, wie z. B. Commits, Pushes oder Merges. Diese Hooks erm\u00f6glichen es Entwicklern, Aufgaben zu automatisieren, Coding-Standards durchzusetzen, Tests auszuf\u00fchren oder andere Aktionen an wichtigen Punkten im Git-Workflow durchzuf\u00fchren. Durch die Nutzung von Git Hooks k\u00f6nnen Teams ihren Entwicklungsprozess verbessern, die Codequalit\u00e4t aufrechterhalten und Konsistenz \u00fcber Projekte hinweg sicherstellen. Hooks k\u00f6nnen lokal implementiert oder unter Teammitgliedern geteilt werden, wodurch sie einen leistungsstarken Mechanismus bieten, um Workflows zu optimieren und Best Practices w\u00e4hrend des gesamten Entwicklungslebenszyklus durchzusetzen.<\/p>\n<h3><strong>Client- vs. Server-Hooks<\/strong><\/h3>\n<p>Wie viele andere Versionskontrollsysteme bietet Git die M\u00f6glichkeit, benutzerdefinierte Skripte auszuf\u00fchren, wenn bestimmte wichtige Aktionen stattfinden. Diese Hooks lassen sich in zwei Gruppen einteilen: <strong>client-seitig<\/strong> und <strong>server-seitig<\/strong>. Client-seitige Hooks werden durch Operationen wie Commits und Merges ausgel\u00f6st, w\u00e4hrend server-seitige Hooks bei Netzwerkoperationen wie dem Empfang gepushter Commits ausgef\u00fchrt werden.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>GitHub API<\/strong><\/h3>\n<p>Die GitHub API ist ein leistungsstarkes Tool, das Entwicklern erm\u00f6glicht, programmatisch mit der GitHub-Plattform zu interagieren. Sie bietet Zugriff auf verschiedene GitHub-Funktionen wie Benutzerdaten, Repository-Informationen und Commit-Historie \u00fcber REST- und GraphQL-Schnittstellen. Die API unterst\u00fctzt Authentifizierung, implementiert Ratenbegrenzung (Rate Limiting) und bietet Webhooks f\u00fcr Echtzeit-Benachrichtigungen. Dadurch k\u00f6nnen Entwickler Aufgaben automatisieren, benutzerdefinierte Integrationen erstellen und Anwendungen entwickeln, die die Funktionalit\u00e4t von GitHub nutzen.<\/p>\n<h3><strong>1-GraphQL API<\/strong><\/h3>\n<p>Die GitHub GraphQL API ist eine Sammlung von APIs, die Zugriff auf verschiedene GitHub-Funktionen wie Benutzerdaten, Repository-Informationen und Commit-Historie bietet. Sie erm\u00f6glicht Entwicklern, programmatisch mit der GitHub-Plattform \u00fcber GraphQL-Abfragen zu interagieren.<\/p>\n<h3><strong>2-REST API<\/strong><\/h3>\n<p>Die GitHub REST API ist eine Sammlung von APIs, die Zugriff auf verschiedene GitHub-Funktionen wie Benutzerdaten, Repository-Informationen und Commit-Historie bietet. Sie erm\u00f6glicht Entwicklern, programmatisch mit der GitHub-Plattform zu interagieren.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Merge-Strategien<\/strong><\/p>\n<p>Wenn \u00c4nderungen von einem Branch in einen anderen zusammengef\u00fchrt werden, bietet Git verschiedene Merge-Strategien zur Auswahl. Diese Methoden erm\u00f6glichen Flexibilit\u00e4t und Anpassung bei der Integration von Code-Updates in Ihren Hauptbranch. Die verf\u00fcgbaren Optionen umfassen:<\/p>\n<ul>\n<li><strong>Fast Forward (FF)<\/strong><\/li>\n<li><strong>Non-Fast Forward<\/strong><\/li>\n<li><strong>Rebase<\/strong><\/li>\n<li><strong>Squash<\/strong><\/li>\n<li><strong>Cherry Picking<\/strong><\/li>\n<\/ul>\n<p><strong>Fast Forward (FF)<\/strong><\/p>\n<ul>\n<li><strong>Was es ist:<\/strong> Der &#8222;Fast-Forward&#8220;-Merge erfolgt, wenn der aktuelle Branch (normalerweise der Hauptbranch) keine neuen Commits enth\u00e4lt, nachdem der Branch, den Sie zusammenf\u00fchren m\u00f6chten, erstellt wurde. In diesem Fall bewegt Git einfach den Zeiger des aktuellen Branches nach vorne auf den neuesten Commit des Feature-Branches. Es wird kein neuer Commit erstellt, da der Branch &#8222;vorw\u00e4rts gespult&#8220; wird, um die \u00c4nderungen zu \u00fcbernehmen.<\/li>\n<li><strong>Wann man es verwendet:<\/strong> Dies wird typischerweise verwendet, wenn Sie einen Branch zusammenf\u00fchren, der sich nicht vom Zielbranch abgespalten hat (d. h., es gibt keine neuen Commits im Zielbranch seit der Erstellung des Branches).<\/li>\n<\/ul>\n<p>git checkout main<\/p>\n<p>git merge feature-branch<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Non-Fast Forward<\/strong><\/p>\n<ul>\n<li><strong>Was es ist:<\/strong> Dies tritt auf, wenn der Branch, den Sie zusammenf\u00fchren m\u00f6chten, vom aktuellen Branch abgewichen ist, d. h., der Zielbranch enth\u00e4lt Commits, die nicht im Feature-Branch vorhanden sind. In diesem Fall erstellt Git einen neuen Merge-Commit, um die beiden Branches zu kombinieren, auch wenn ein Fast-Forward m\u00f6glich gewesen w\u00e4re. Dadurch wird sichergestellt, dass der Verlauf unver\u00e4ndert erhalten bleibt.<\/li>\n<li><strong>Wann man es verwendet:<\/strong> Non-Fast-Forward-Merges sind n\u00fctzlich, um eine klare Historie der Feature-Entwicklung zu bewahren, insbesondere wenn Sie den Kontext erhalten und die Commit-Historie der verschiedenen Branches getrennt halten m\u00f6chten.<\/li>\n<\/ul>\n<p><strong>Beispiel:<\/strong><\/p>\n<p>git checkout main<\/p>\n<p>git merge feature-branch<\/p>\n<p><strong>Rebase<\/strong><\/p>\n<ul>\n<li><strong>Was es ist:<\/strong> Rebasing ist eine Strategie, bei der die \u00c4nderungen eines Branches auf die Basis eines anderen Branches &#8222;neu abgespielt&#8220; werden. Im Wesentlichen wird die Historie umgeschrieben, indem Ihre \u00c4nderungen auf den aktuellen Branch angewendet werden. Dies erzeugt eine lineare Historie, die \u00fcbersichtlicher und leichter verst\u00e4ndlich sein kann.<\/li>\n<li><strong>Wann man es verwendet:<\/strong> Rebasing wird verwendet, wenn Sie \u00c4nderungen aus dem Basis-Branch in Ihren Feature-Branch integrieren m\u00f6chten oder wenn Sie Ihre Commit-Historie als einen einzigen Strom von Commits darstellen m\u00f6chten, ohne unn\u00f6tige Merge-Commits.<\/li>\n<li><strong>Beispiel:<\/strong><\/li>\n<\/ul>\n<p>git checkout feature-branch<\/p>\n<p>git rebase main<\/p>\n<p><strong>Squash<\/strong><\/p>\n<ul>\n<li><strong>Was es ist:<\/strong> Beim Squashing werden alle \u00c4nderungen aus Ihrem Feature-Branch in einen einzigen Commit zusammengefasst, bevor sie in den Zielbranch gemerged werden. Dies ist n\u00fctzlich, wenn Sie Ihre Historie sauber halten m\u00f6chten und nicht alle Zwischencommits anzeigen m\u00f6chten, die w\u00e4hrend der Entwicklung gemacht wurden.<\/li>\n<li><strong>Wann man es verwendet:<\/strong> Squashing ist n\u00fctzlich, wenn Sie eine Reihe von kleinen, inkrementellen Commits haben, die f\u00fcr sich genommen nicht besonders aussagekr\u00e4ftig sind, und Sie sie in einen Commit verdichten m\u00f6chten, der in den Hauptbranch gemerged wird.<\/li>\n<li><strong>Beispiel:<\/strong><\/li>\n<\/ul>\n<p>git checkout main<\/p>\n<p>git merge &#8211;squash feature-branch<\/p>\n<p>git commit<\/p>\n<p><strong>Cherry Picking<\/strong><\/p>\n<ul>\n<li><strong>Was es ist:<\/strong> Cherry Picking erm\u00f6glicht es, einen bestimmten Commit von einem Branch auf einen anderen zu \u00fcbertragen, anstatt den gesamten Branch zu mergen. Dies ist n\u00fctzlich, wenn Sie einen oder mehrere einzelne Commits aus einem anderen Branch \u00fcbernehmen m\u00f6chten, ohne alle \u00c4nderungen aus diesem Branch zu integrieren.<\/li>\n<li><strong>Wann man es verwendet:<\/strong> Cherry-Picking wird oft verwendet, wenn Sie spezifische Fixes oder Features aus einem Branch in einen anderen \u00fcbernehmen m\u00f6chten, aber nicht alles aus dem Branch \u00fcbernehmen wollen (z. B. nur Bugfixes aus einem Feature-Branch).<\/li>\n<li><strong>Beispiel:<\/strong><\/li>\n<\/ul>\n<p>git checkout main<\/p>\n<p>git cherry-pick &lt;Commit-Hash&gt;<\/p>\n<p>Diese Strategien bieten Flexibilit\u00e4t, je nachdem, welches Ergebnis Sie f\u00fcr Ihr Projekt w\u00fcnschen. Sie erm\u00f6glichen es Ihnen, die Commit-Historie und die Branch-Integration so zu verwalten, dass sie zu Ihrem Workflow passt.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h1>Quellen :<\/h1>\n<ul>\n<li><a href=\"https:\/\/www.atlassian.com\/git\/tutorials\/what-is-version-control\">https:\/\/www.atlassian.com\/git\/tutorials\/what-is-version-control<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/@pascalchinedu2000\/git-vs-other-vcs-a-comparative-analysis-5cb03ad58e0e\">https:\/\/medium.com\/@pascalchinedu2000\/git-vs-other-vcs-a-comparative-analysis-5cb03ad58e0e<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/pricing#compare-features\">https:\/\/github.com\/pricing#compare-features<\/a><\/li>\n<li><a href=\"https:\/\/docs.github.com\/de\/copilot\/managing-copilot\/managing-copilot-as-an-individual-subscriber\/managing-copilot-free\/about-github-copilot-free\">https:\/\/docs.github.com\/de\/copilot\/managing-copilot\/managing-copilot-as-an-individual-subscriber\/managing-copilot-free\/about-github-copilot-free<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/knowledgebase\/what-is-github\">https:\/\/kinsta.com\/knowledgebase\/what-is-github<\/a><\/li>\n<li><a href=\"https:\/\/www.w3schools.com\/whatis\/whatis_github.asp\">https:\/\/www.w3schools.com\/whatis\/whatis_github.asp<\/a><\/li>\n<li><a href=\"https:\/\/www.techtarget.com\/searchitoperations\/definition\/GitHub\">https:\/\/www.techtarget.com\/searchitoperations\/definition\/GitHub<\/a><\/li>\n<li><a href=\"https:\/\/www.geeksforgeeks.org\/what-is-github-and-how-to-use-it\/\">https:\/\/www.geeksforgeeks.org\/what-is-github-and-how-to-use-it\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Was ist Versionskontrolle? Versionskontrolle ist ein System, das \u00c4nderungen an Dateien \u00fcber einen bestimmten Zeitraum hinweg verwaltet und nachverfolgt.Es erm\u00f6glicht<\/p>\n","protected":false},"author":201,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[136,127,135,125,126,124,65],"class_list":["post-4049","post","type-post","status-publish","format-standard","hentry","category-betriebliche-informationssysteme","tag-git-hooks","tag-git-vs-andere-vcss","tag-github-api","tag-github-copilot","tag-github-moeglichkeiten","tag-github-pricing","tag-versionskontrolle"],"_links":{"self":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/4049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/users\/201"}],"replies":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/comments?post=4049"}],"version-history":[{"count":15,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/4049\/revisions"}],"predecessor-version":[{"id":4099,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/4049\/revisions\/4099"}],"wp:attachment":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/media?parent=4049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/categories?post=4049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/tags?post=4049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}