CINXE.COM

Git - Branching und Merging

<!DOCTYPE html> <html lang="de"> <head> <meta charset='utf-8'> <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Git - Branching und Merging</title> <link href="/favicon.ico" rel='shortcut icon' type='image/x-icon'> <link rel="stylesheet" href="/application.min.css"> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> </head> <body id="documentation"> <div class="inner"> <header> <a href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" /></a> <span id="tagline"></span> <script type="text/javascript"> const taglines = [ "fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized" ]; var tagline = taglines[Math.floor(Math.random() * taglines.length)]; document.getElementById('tagline').innerHTML = '--' + tagline; </script> <form id="search" action="/search/results"> <input id="search-text" name="search" placeholder="Type / to search entire site…" autocomplete="off" type="text" /> </form> <div id="search-results"></div> </header> </div> <div class="inner"> <div id="content-wrapper"> <div tabindex="1" class="sidebar-btn"></div> <aside class="sidebar" id="sidebar"> <nav> <ul> <li> <a href="/about">About</a> <ul> </ul> </li> <li> <a href="/doc" class="active">Documentation</a> <ul class="expanded"> <li> <a href="/docs">Reference</a> </li> <li> <a href="/book" class="active">Book</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/doc/ext">External Links</a> </li> </ul> </li> <li> <a href="/downloads">Downloads</a> <ul > <li> <a href="/downloads/guis">GUI Clients</a> </li> <li> <a href="/downloads/logos">Logos</a> </li> </ul> </li> <li> <a href="/community">Community</a> </li> </ul> <hr class="sidebar"> <p> This book is available in <a href="/book/en/v2/Appendix-C:-Git-Commands-Branching-and-Merging">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Appendix-C:-Git-%c6%8fmrl%c9%99ri-Branching-v%c9%99-Birl%c9%99%c5%9fm%c9%99">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Anhang-C:-Git-Kommandos-Branching-und-Merging">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Commandes-Git-Cr%c3%a9ation-de-branches-et-fusion">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja/v2/%e4%bb%98%e9%8c%b2-C:-Git%e3%81%ae%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89-%e3%83%96%e3%83%a9%e3%83%b3%e3%83%81%e3%81%a8%e3%83%9e%e3%83%bc%e3%82%b8">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/%eb%b6%80%eb%a1%9d-C:-Git-%eb%aa%85%eb%a0%b9%ec%96%b4-Branch%ec%99%80-Merge">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Bijlage-C:-Git-Commando%e2%80%99s-Branchen-en-mergen">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/%d0%9f%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-C:-%d0%9a%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b-Git-%d0%92%d0%b5%d1%82%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b8-%d1%81%d0%bb%d0%b8%d1%8f%d0%bd%d0%b8%d1%8f">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Dodatek-C:-Ukazi-Git-Veje-in-zdru%c5%beevanje">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Branching-at-Merging">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/%d0%94%d0%be%d0%b4%d0%b0%d1%82%d0%be%d0%ba-C:-%d0%9a%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Git-%d0%93%d0%b0%d0%bb%d1%83%d0%b6%d0%b5%d0%bd%d0%bd%d1%8f-%d1%82%d0%b0-%d0%b7%d0%bb%d0%b8%d0%b2%d0%b0%d0%bd%d0%bd%d1%8f">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/%e9%99%84%e5%bd%95-C:-Git-%e5%91%bd%e4%bb%a4-%e5%88%86%e6%94%af%e4%b8%8e%e5%90%88%e5%b9%b6">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Čeština</a>,</td></tr> <tr><td><a href="/book/mk/v2/Appendix-C:-Git-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b8-Branching-and-Merging">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%94%d0%be%d0%b4%d0%b0%d1%82%d0%b0%d0%ba-%d0%92:-%d0%93%d0%b8%d1%82-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b5-%d0%93%d1%80%d0%b0%d0%bd%d0%b0%d1%9a%d0%b5-%d0%b8-%d1%81%d0%bf%d0%b0%d1%98%d0%b0%d1%9a%d0%b5">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/%e9%99%84%e9%8c%84-C:-Git-Commands-Branching-and-Merging">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/%d0%94%d0%b0%d0%b4%d0%b0%d1%82%d0%b0%d0%ba-C:-Git-Commands-Branching-and-Merging">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/%d9%be%db%8c%d9%88%d8%b3%d8%aa-C:-Git-Commands-Branching-and-Merging" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Appendice-C:-Git-Commands-Branching-and-Merging">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Appendix-C:-Git-Commands-Branching-and-Merging">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Bilaga-C:-Git-Commands-Branching-and-Merging">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Ek-b%c3%b6l%c3%bcm-C:-Git-Komutlar%c4%b1-Dalland%c4%b1rma-ve-Birle%c5%9ftirme-Komutlar%c4%b1">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/progit/progit2-de">hosted on GitHub.</a></br> Patches, suggestions and comments are welcome. </p> </nav> </aside> <div id="content"> <div id="book-chapters"> <a class="dropdown-trigger" id="book-chapters-trigger" data-panel-id="chapters-dropdown" href="#">Chapters ▾</a> <div class='dropdown-panel' id='chapters-dropdown'> <div class='three-column'> <div class="column-left"> <ol class='book-toc'> <li class='chapter'> <h2>1. <a href="/book/de/v2/Erste-Schritte-Was-ist-Versionsverwaltung%3F">Erste Schritte</a></h2> <ol> <li> 1.1 <a href="/book/de/v2/Erste-Schritte-Was-ist-Versionsverwaltung%3F">Was ist Versionsverwaltung?</a> </li> <li> 1.2 <a href="/book/de/v2/Erste-Schritte-Kurzer-%c3%9cberblick-%c3%bcber-die-Historie-von-Git">Kurzer Überblick über die Historie von Git</a> </li> <li> 1.3 <a href="/book/de/v2/Erste-Schritte-Was-ist-Git%3F">Was ist Git?</a> </li> <li> 1.4 <a href="/book/de/v2/Erste-Schritte-Die-Kommandozeile">Die Kommandozeile</a> </li> <li> 1.5 <a href="/book/de/v2/Erste-Schritte-Git-installieren">Git installieren</a> </li> <li> 1.6 <a href="/book/de/v2/Erste-Schritte-Git-Basis-Konfiguration">Git Basis-Konfiguration</a> </li> <li> 1.7 <a href="/book/de/v2/Erste-Schritte-Hilfe-finden">Hilfe finden</a> </li> <li> 1.8 <a href="/book/de/v2/Erste-Schritte-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/de/v2/Git-Grundlagen-Ein-Git-Repository-anlegen">Git Grundlagen</a></h2> <ol> <li> 2.1 <a href="/book/de/v2/Git-Grundlagen-Ein-Git-Repository-anlegen">Ein Git-Repository anlegen</a> </li> <li> 2.2 <a href="/book/de/v2/Git-Grundlagen-%c3%84nderungen-nachverfolgen-und-im-Repository-speichern">Änderungen nachverfolgen und im Repository speichern</a> </li> <li> 2.3 <a href="/book/de/v2/Git-Grundlagen-Anzeigen-der-Commit-Historie">Anzeigen der Commit-Historie</a> </li> <li> 2.4 <a href="/book/de/v2/Git-Grundlagen-Ungewollte-%c3%84nderungen-r%c3%bcckg%c3%a4ngig-machen">Ungewollte Änderungen rückgängig machen</a> </li> <li> 2.5 <a href="/book/de/v2/Git-Grundlagen-Mit-Remotes-arbeiten">Mit Remotes arbeiten</a> </li> <li> 2.6 <a href="/book/de/v2/Git-Grundlagen-Taggen">Taggen</a> </li> <li> 2.7 <a href="/book/de/v2/Git-Grundlagen-Git-Aliases">Git Aliases</a> </li> <li> 2.8 <a href="/book/de/v2/Git-Grundlagen-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/de/v2/Git-Branching-Branches-auf-einen-Blick">Git Branching</a></h2> <ol> <li> 3.1 <a href="/book/de/v2/Git-Branching-Branches-auf-einen-Blick">Branches auf einen Blick</a> </li> <li> 3.2 <a href="/book/de/v2/Git-Branching-Einfaches-Branching-und-Merging">Einfaches Branching und Merging</a> </li> <li> 3.3 <a href="/book/de/v2/Git-Branching-Branch-Management">Branch-Management</a> </li> <li> 3.4 <a href="/book/de/v2/Git-Branching-Branching-Workflows">Branching-Workflows</a> </li> <li> 3.5 <a href="/book/de/v2/Git-Branching-Remote-Branches">Remote-Branches</a> </li> <li> 3.6 <a href="/book/de/v2/Git-Branching-Rebasing">Rebasing</a> </li> <li> 3.7 <a href="/book/de/v2/Git-Branching-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/de/v2/Git-auf-dem-Server-Die-Protokolle">Git auf dem Server</a></h2> <ol> <li> 4.1 <a href="/book/de/v2/Git-auf-dem-Server-Die-Protokolle">Die Protokolle</a> </li> <li> 4.2 <a href="/book/de/v2/Git-auf-dem-Server-Git-auf-einem-Server-einrichten">Git auf einem Server einrichten</a> </li> <li> 4.3 <a href="/book/de/v2/Git-auf-dem-Server-Erstellung-eines-SSH-Public-Keys">Erstellung eines SSH-Public-Keys</a> </li> <li> 4.4 <a href="/book/de/v2/Git-auf-dem-Server-Einrichten-des-Servers">Einrichten des Servers</a> </li> <li> 4.5 <a href="/book/de/v2/Git-auf-dem-Server-Git-Daemon">Git-Daemon</a> </li> <li> 4.6 <a href="/book/de/v2/Git-auf-dem-Server-Smart-HTTP">Smart HTTP</a> </li> <li> 4.7 <a href="/book/de/v2/Git-auf-dem-Server-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/de/v2/Git-auf-dem-Server-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/de/v2/Git-auf-dem-Server-Von-Drittanbietern-gehostete-Optionen">Von Drittanbietern gehostete Optionen</a> </li> <li> 4.10 <a href="/book/de/v2/Git-auf-dem-Server-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/de/v2/Verteiltes-Git-Verteilter-Arbeitsablauf">Verteiltes Git</a></h2> <ol> <li> 5.1 <a href="/book/de/v2/Verteiltes-Git-Verteilter-Arbeitsablauf">Verteilter Arbeitsablauf</a> </li> <li> 5.2 <a href="/book/de/v2/Verteiltes-Git-An-einem-Projekt-mitwirken">An einem Projekt mitwirken</a> </li> <li> 5.3 <a href="/book/de/v2/Verteiltes-Git-Ein-Projekt-verwalten">Ein Projekt verwalten</a> </li> <li> 5.4 <a href="/book/de/v2/Verteiltes-Git-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/de/v2/GitHub-Einrichten-und-Konfigurieren-eines-Kontos">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/de/v2/GitHub-Einrichten-und-Konfigurieren-eines-Kontos">Einrichten und Konfigurieren eines Kontos</a> </li> <li> 6.2 <a href="/book/de/v2/GitHub-Mitwirken-an-einem-Projekt">Mitwirken an einem Projekt</a> </li> <li> 6.3 <a href="/book/de/v2/GitHub-Ein-Projekt-betreuen">Ein Projekt betreuen</a> </li> <li> 6.4 <a href="/book/de/v2/GitHub-Verwalten-einer-Organisation">Verwalten einer Organisation</a> </li> <li> 6.5 <a href="/book/de/v2/GitHub-Skripte-mit-GitHub">Skripte mit GitHub</a> </li> <li> 6.6 <a href="/book/de/v2/GitHub-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/de/v2/Git-Tools-Revisions-Auswahl">Git Tools</a></h2> <ol> <li> 7.1 <a href="/book/de/v2/Git-Tools-Revisions-Auswahl">Revisions-Auswahl</a> </li> <li> 7.2 <a href="/book/de/v2/Git-Tools-Interaktives-Stagen">Interaktives Stagen</a> </li> <li> 7.3 <a href="/book/de/v2/Git-Tools-Stashen-und-Bereinigen">Stashen und Bereinigen</a> </li> <li> 7.4 <a href="/book/de/v2/Git-Tools-Deine-Arbeit-signieren">Deine Arbeit signieren</a> </li> <li> 7.5 <a href="/book/de/v2/Git-Tools-Suchen">Suchen</a> </li> <li> 7.6 <a href="/book/de/v2/Git-Tools-Den-Verlauf-umschreiben">Den Verlauf umschreiben</a> </li> <li> 7.7 <a href="/book/de/v2/Git-Tools-Reset-entzaubert">Reset entzaubert</a> </li> <li> 7.8 <a href="/book/de/v2/Git-Tools-Fortgeschrittenes-Merging">Fortgeschrittenes Merging</a> </li> <li> 7.9 <a href="/book/de/v2/Git-Tools-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/de/v2/Git-Tools-Debuggen-mit-Git">Debuggen mit Git</a> </li> <li> 7.11 <a href="/book/de/v2/Git-Tools-Submodule">Submodule</a> </li> <li> 7.12 <a href="/book/de/v2/Git-Tools-Bundling">Bundling</a> </li> <li> 7.13 <a href="/book/de/v2/Git-Tools-Replace-Ersetzen">Replace (Ersetzen)</a> </li> <li> 7.14 <a href="/book/de/v2/Git-Tools-Anmeldeinformationen-speichern">Anmeldeinformationen speichern</a> </li> <li> 7.15 <a href="/book/de/v2/Git-Tools-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/de/v2/Git-einrichten-Git-Konfiguration">Git einrichten</a></h2> <ol> <li> 8.1 <a href="/book/de/v2/Git-einrichten-Git-Konfiguration">Git Konfiguration</a> </li> <li> 8.2 <a href="/book/de/v2/Git-einrichten-Git-Attribute">Git-Attribute</a> </li> <li> 8.3 <a href="/book/de/v2/Git-einrichten-Git-Hooks">Git Hooks</a> </li> <li> 8.4 <a href="/book/de/v2/Git-einrichten-Beispiel-f%c3%bcr-Git-forcierte-Regeln">Beispiel für Git-forcierte Regeln</a> </li> <li> 8.5 <a href="/book/de/v2/Git-einrichten-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/de/v2/Git-und-andere-VCS-Systeme-Git-als-Client">Git und andere VCS-Systeme</a></h2> <ol> <li> 9.1 <a href="/book/de/v2/Git-und-andere-VCS-Systeme-Git-als-Client">Git als Client</a> </li> <li> 9.2 <a href="/book/de/v2/Git-und-andere-VCS-Systeme-Migration-zu-Git">Migration zu Git</a> </li> <li> 9.3 <a href="/book/de/v2/Git-und-andere-VCS-Systeme-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/de/v2/Git-Interna-Basisbefehle-und-Standardbefehle-Plumbing-and-Porcelain">Git Interna</a></h2> <ol> <li> 10.1 <a href="/book/de/v2/Git-Interna-Basisbefehle-und-Standardbefehle-Plumbing-and-Porcelain">Basisbefehle und Standardbefehle (Plumbing and Porcelain)</a> </li> <li> 10.2 <a href="/book/de/v2/Git-Interna-Git-Objekte">Git Objekte</a> </li> <li> 10.3 <a href="/book/de/v2/Git-Interna-Git-Referenzen">Git Referenzen</a> </li> <li> 10.4 <a href="/book/de/v2/Git-Interna-Packdateien-engl-Packfiles">Packdateien (engl. Packfiles)</a> </li> <li> 10.5 <a href="/book/de/v2/Git-Interna-Die-Referenzspezifikation-engl-Refspec">Die Referenzspezifikation (engl. Refspec)</a> </li> <li> 10.6 <a href="/book/de/v2/Git-Interna-Transfer-Protokolle">Transfer Protokolle</a> </li> <li> 10.7 <a href="/book/de/v2/Git-Interna-Wartung-und-Datenwiederherstellung">Wartung und Datenwiederherstellung</a> </li> <li> 10.8 <a href="/book/de/v2/Git-Interna-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Grafische-Schnittstellen">Anhang A: Git in anderen Umgebungen</a></h2> <ol> <li> A1.1 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Grafische-Schnittstellen">Grafische Schnittstellen</a> </li> <li> A1.2 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-Visual-Studio">Git in Visual Studio</a> </li> <li> A1.3 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-Visual-Studio-Code">Git in Visual Studio Code</a> </li> <li> A1.4 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-IntelliJ-/-PyCharm-/-WebStorm-/-PhpStorm-/-RubyMine">Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine</a> </li> <li> A1.5 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-Sublime-Text">Git in Sublime Text</a> </li> <li> A1.6 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-Bash">Git in Bash</a> </li> <li> A1.7 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-Zsh">Git in Zsh</a> </li> <li> A1.8 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-PowerShell">Git in PowerShell</a> </li> <li> A1.9 <a href="/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Zusammenfassung">Zusammenfassung</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/de/v2/Anhang-B:-Git-in-deine-Anwendungen-einbetten-Die-Git-Kommandozeile">Anhang B: Git in deine Anwendungen einbetten</a></h2> <ol> <li> A2.1 <a href="/book/de/v2/Anhang-B:-Git-in-deine-Anwendungen-einbetten-Die-Git-Kommandozeile">Die Git-Kommandozeile</a> </li> <li> A2.2 <a href="/book/de/v2/Anhang-B:-Git-in-deine-Anwendungen-einbetten-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/de/v2/Anhang-B:-Git-in-deine-Anwendungen-einbetten-JGit">JGit</a> </li> <li> A2.4 <a href="/book/de/v2/Anhang-B:-Git-in-deine-Anwendungen-einbetten-go-git">go-git</a> </li> <li> A2.5 <a href="/book/de/v2/Anhang-B:-Git-in-deine-Anwendungen-einbetten-Dulwich">Dulwich</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Setup-und-Konfiguration">Anhang C: Git Kommandos</a></h2> <ol> <li> A3.1 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Setup-und-Konfiguration">Setup und Konfiguration</a> </li> <li> A3.2 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Projekte-importieren-und-erstellen">Projekte importieren und erstellen</a> </li> <li> A3.3 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Einfache-Snapshot-Funktionen">Einfache Snapshot-Funktionen</a> </li> <li> A3.4 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Branching-und-Merging" class="active">Branching und Merging</a> </li> <li> A3.5 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Projekte-gemeinsam-nutzen-und-aktualisieren">Projekte gemeinsam nutzen und aktualisieren</a> </li> <li> A3.6 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Kontrollieren-und-Vergleichen">Kontrollieren und Vergleichen</a> </li> <li> A3.7 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Debugging">Debugging</a> </li> <li> A3.8 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Patchen-bzw-Fehlerkorrektur">Patchen bzw. Fehlerkorrektur</a> </li> <li> A3.9 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-E-mails">E-mails</a> </li> <li> A3.10 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Externe-Systeme">Externe Systeme</a> </li> <li> A3.11 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Administration">Administration</a> </li> <li> A3.12 <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Basisbefehle">Basisbefehle</a> </li> </ol> </li> </ol> </div> </div> </div> <span class="light" id="edition"> 2nd Edition </span> </div> <div id="main" data-pagefind-filter="category:book" data-pagefind-meta="category:Book" data-pagefind-weight="0.05" data-pagefind-body class="book edition2"> <h1>A3.4 Anhang C: Git Kommandos - Branching und Merging</h1> <div> <h2 id="_branching_und_merging">Branching und Merging</h2> <div class="paragraph"> <p>Es gibt nur eine Handvoll Befehle, die die meisten Branching- und Merging-Funktionen in Git bereitstellen.</p> </div> <div class="sect3"> <h3 id="_git_branch">git branch</h3> <div class="paragraph"> <p>Der <code>git branch</code> Befehl ist eigentlich so etwas wie ein Branch-Management-Tool. Er kann die von Ihnen vorhandenen Branches auflisten, einen neuen Branch erstellen, Branches löschen und umbenennen.</p> </div> <div class="paragraph"> <p>Der größte Teil von <a href="/book/de/v2/ch00/ch03-git-branching">Git Branching</a> ist dem Befehl <code>branch</code> gewidmet und wird im gesamten Kapitel verwendet. Wir stellen ihn zuerst in <a href="/book/de/v2/ch00/_create_new_branch">Erzeugen eines neuen Branches</a> vor und betrachten die meisten seiner anderen Funktionen (das Auflisten und Löschen) in <a href="/book/de/v2/ch00/_branch_management">Branch-Management</a>.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_tracking_branches">Tracking-Branches</a> verwenden wir die Option <code>git branch -u</code>, um einen Tracking-Branch einzurichten.</p> </div> <div class="paragraph"> <p>Schließlich werden wir einige der Funktionen, die im Hintergrund ausgeführt werden, in <a href="/book/de/v2/ch00/_git_refs">Git Referenzen</a> durchgehen.</p> </div> </div> <div class="sect3"> <h3 id="_git_checkout">git checkout</h3> <div class="paragraph"> <p>Der <code>git checkout</code> Befehl wird benutzt, um Branches zu wechseln und Inhalte in Ihr Arbeitsverzeichnis auszuchecken.</p> </div> <div class="paragraph"> <p>Wir sind in <a href="/book/de/v2/ch00/_switching_branches">Wechseln des Branches</a> zum ersten Mal dem <code>git branch</code> Befehl begegnet.</p> </div> <div class="paragraph"> <p>Wir zeigen in <a href="/book/de/v2/ch00/_tracking_branches">Tracking-Branches</a>, wie man das Tracking von Branches mit dem <code>--track</code> Flag startet.</p> </div> <div class="paragraph"> <p>Wir verwenden ihn in <a href="/book/de/v2/ch00/_checking_out_conflicts">Die Konflikte austesten</a>, um Dateikonflikte mit <code>--conflict=diff3</code> wieder zu integrieren.</p> </div> <div class="paragraph"> <p>Wir gehen auf die Beziehung zu <code>git reset</code> in <a href="/book/de/v2/ch00/_git_reset">Reset entzaubert</a> näher ein.</p> </div> <div class="paragraph"> <p>Abschließend gehen wir auf einige Details der Umsetzung in <a href="/book/de/v2/ch00/ref_the_ref">HEAD</a> ein.</p> </div> </div> <div class="sect3"> <h3 id="_git_merge">git merge</h3> <div class="paragraph"> <p>Das <code>git merge</code> Tool wird benutzt, um einen oder mehrere Branches in den von in den ausgecheckten Branch zusammenzuführen. Es wird dann der aktuelle Branch zum Ergebnis des Merge-Vorgangs weitergeführt.</p> </div> <div class="paragraph"> <p>Der Befehl <code>git merge</code> wurde zunächst in <a href="/book/de/v2/ch00/_basic_branching">Einfaches Branching</a> vorgestellt. Obwohl er an verschiedenen Stellen im Buch verwendet wird, gibt es nur sehr wenige Variationen des Befehls <code>merge</code>. In der Regel nur <code>git merge &lt;branch&gt;</code> mit dem Namen des einzelnen Branches, in dem Sie zusammenführen möchten.</p> </div> <div class="paragraph"> <p>Wir haben am Ende von <a href="/book/de/v2/ch00/_public_project">Verteiltes, öffentliches Projekt</a> beschrieben, wie man ein Squashed Merge macht (bei dem Git die Arbeit zusammenführt, sich aber so verhält, als wäre es nur ein neuer Commit, ohne die Historie des Branches, in dem man zusammenführt, aufzuzeichnen).</p> </div> <div class="paragraph"> <p>Wir haben in <a href="/book/de/v2/ch00/_advanced_merging">Fortgeschrittenes Merging</a> viel über den Merge-Prozess und -Befehl berichtet, einschließlich des Befehls <code>-Xignore-space-change</code> und des Flags <code>--abort</code>, um ein Merge-Problem abzubrechen.</p> </div> <div class="paragraph"> <p>Wir haben in <a href="/book/de/v2/ch00/_signing_commits">Commits signieren</a> gelernt, wie man Signaturen vor dem Zusammenführen überprüft, wenn Ihr Projekt GPG-Signaturen verwendet.</p> </div> <div class="paragraph"> <p>Schließlich haben wir in <a href="/book/de/v2/ch00/_subtree_merge">Subtree Merging</a> das Mergen von Sub-Trees kennengelernt.</p> </div> </div> <div class="sect3"> <h3 id="_git_mergetool">git mergetool</h3> <div class="paragraph"> <p>Der <code>git mergetool</code> Befehl startet lediglich einen externen Merge-Helfer, falls Sie Probleme mit einer Zusammenführung in Git haben.</p> </div> <div class="paragraph"> <p>Wir erwähnen ihn kurz in <a href="/book/de/v2/ch00/_basic_merge_conflicts">Einfache Merge-Konflikte</a> und gehen ausführlich in <a href="/book/de/v2/ch00/_external_merge_tools">Externe Merge- und Diff-Tools</a> darauf ein, wie Sie Ihr eigenes externes Merge-Tool integrieren können.</p> </div> </div> <div class="sect3"> <h3 id="_git_log">git log</h3> <div class="paragraph"> <p>Der <code>git log</code> Befehl wird verwendet, um den verfügbaren, aufgezeichneten Verlauf eines Projekts, ab des letzten Commit-Snapshots, rückwärts anzuzeigen. Standardmäßig wird nur die Historie des Branchs angezeigt, in dem Sie sich gerade befinden, kann aber mit verschiedenen oder sogar mehreren Heads oder Branches belegt werden, mit denen Sie Schnittmengen haben können. Er wird häufig verwendet, um Unterschiede zwischen zwei oder mehr Branches auf der Commit-Ebene anzuzeigen.</p> </div> <div class="paragraph"> <p>Dieses Kommando wird in fast jedem Kapitel des Buches verwendet, um die Verlaufshistorie eines Projekts zu demonstrieren.</p> </div> <div class="paragraph"> <p>Wir stellen den Befehl in <a href="/book/de/v2/ch00/_viewing_history">Anzeigen der Commit-Historie</a> vor und gehen dort etwas ausführlicher darauf ein. Wir betrachten die Option <code>-p</code> und <code>--stat</code>, um eine Übersicht darüber zu erhalten, was in jedem Commit enthalten ist, und die Optionen <code>--pretty</code> und <code>--oneline</code>, um die Historie, zusammen mit einigen einfachen Datums- und Autoren-Filteroptionen, übersichtlicher wiederzugeben.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_create_new_branch">Erzeugen eines neuen Branches</a> verwenden wir ihn mit der Option <code>--decorate</code>, um leichter zu verdeutlichen, wo unser Branch-Pointer sich gerade befindet und wir benutzen auch die <code>--graph</code> Option, um zu sehen, wie die unterschiedlichen Verläufe aussehen.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_private_team">Kleines, privates Team</a> und <a href="/book/de/v2/ch00/_commit_ranges">Commit-Bereiche</a> behandeln wir die Syntax <code>branchA..branchB</code>, um mit dem <code>git log</code> Befehl zu überprüfen, welche Commits, relativ zu einem anderen Branch, eindeutig sind. In <a href="/book/de/v2/ch00/_commit_ranges">Commit-Bereiche</a> gehen wir ausführlicher darauf ein.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_merge_log">Merge-Protokoll</a> und <a href="/book/de/v2/ch00/_triple_dot">Dreifacher Punkt</a> wird das Format <code>branchA…​branchB</code> und die Syntax <code>--left-right</code> verwendet, um zu sehen, was in dem einen oder anderen Branch vorhanden ist, aber nicht in beiden. In <a href="/book/de/v2/ch00/_merge_log">Merge-Protokoll</a> untersuchen wir auch, wie Sie die Option <code>--merge</code> verwenden können, um beim Debugging von Merge-Konflikten zu helfen, sowie die Option <code>--cc</code>, um Merge-Commit-Konflikte in Ihrem Verlauf zu betrachten.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_git_reflog">RefLog Kurzformen</a> benutzen wir die Option <code>-g</code>, um den Git-RefLog über dieses Tool anzuzeigen, anstatt eine Branch-Überquerung durchzuführen.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_searching">Suchen</a> schauen wir uns die Verwendung der <code>-S</code> und <code>-L</code> Optionen an, um eine relativ komplexe Suche nach etwas durchzuführen, was während der Entwicklung des Codes passiert ist, wie z.B. den Fortschritt in einer Funktion wahrzunehmen.</p> </div> <div class="paragraph"> <p>In <a href="/book/de/v2/ch00/_signing_commits">Commits signieren</a> sehen wir, wie man mit Hilfe der Option <code>--show-signature</code> jedem Commit in der <code>git log</code> Ausgabe eine Validierungs-Zeichenkette hinzufügt, abhängig von der Gültigkeit der Signatur.</p> </div> </div> <div class="sect3"> <h3 id="_git_stash">git stash</h3> <div class="paragraph"> <p>Der Befehl <code>git stash</code> wird verwendet, um nicht fertiggestellte Arbeit vorübergehend zu speichern, um Ihr Arbeitsverzeichnis aufzuräumen, ohne unfertige Arbeit auf einem Branch committen zu müssen.</p> </div> <div class="paragraph"> <p>Im Wesentlichen wird dieses Thema in <a href="/book/de/v2/ch00/_git_stashing">Stashen und Bereinigen</a> vollständig behandelt.</p> </div> </div> <div class="sect3"> <h3 id="_git_tag">git tag</h3> <div class="paragraph"> <p>Der Befehl <code>git-tag</code> wird verwendet, um ein permanentes Lesezeichen an einen bestimmten Punkt in der Code-Historie zu setzen. Im Allgemeinen wird das für die Erstellung von Releases verwendet.</p> </div> <div class="paragraph"> <p>Dieser Befehl wird in <a href="/book/de/v2/ch00/_git_tagging">Taggen</a> eingeführt und ausführlich behandelt; wir benutzen ihn in der Praxis in <a href="/book/de/v2/ch00/_tagging_releases">Tagging deines Releases</a>.</p> </div> <div class="paragraph"> <p>Wir behandeln in <a href="/book/de/v2/ch00/_signing">Deine Arbeit signieren</a> auch, wie man einen GPG-signierten Tag mit dem <code>-s</code> Flag erstellt und einen mit dem <code>-v</code> Flag verifiziert.</p> </div> </div> <div id="nav"><a href="/book/de/v2/Anhang-C:-Git-Kommandos-Einfache-Snapshot-Funktionen">prev</a> | <a href="/book/de/v2/Anhang-C:-Git-Kommandos-Projekte-gemeinsam-nutzen-und-aktualisieren">next</a></div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10