Git Checkout Files von anderem Branch

0

Git Versionierung ist das Maß aller Dinge beim Webdevelopment mit PHP. Dabei ist natürlich ein Git Checkout ein elementares und wichtiges Kommando. In der Regel wird es allerdings nur dazu benutzt, um neue Branches zu erstellen, zwischen Branches zu wechseln und natürlich Files in der aktuellen Entwicklung zu resetten, also zurückzusetzen. Dabei hat das Git Command noch eine andere wichtige Funktion, die ich heute näher erläutern möchte.

Git Checkout File von Master

Schaut man sich einmal die offizielle Dokumentation zum Git Checkout Command an findet man weit mehr Funktionen, als den einfachen Wechsel zwischen Branches.

When or –patch are given, git checkout does not switch branches. It updates the named paths in the working tree from the index file or from a named (most often a commit)…The argument can be used to specify a specific tree-ish (i.e. commit, tag or tree) to update the index for the given paths before updating the working tree. https://git-scm.com/docs/git-checkout

Leider sind Dokumentationen nicht immer benutzerfreundlich geschrieben. Daher versuche ich mit diesem Blog-Post hier einmal ein wenig Licht in die technische Dunkelheit zu bringen. Grundsätzlich ist es in Git immer möglich mit Hilfe des ‚tree-ish‘ einen bestimmten Commit oder auch ein File von einem anderen Branch aus auszuchecken. Damit man seinen aktuellen Branch mit den Files eines bestimmten Commits aktualisieren kann ist folgendes nötig.

Git Einzelnes File von anderem Branch auschecken

Git Checkout

Git Checkout – Aspectra

Es kommt natürlich auch bei den besten Webdevelopern vor, daß man sich einmal verstrickt hat. Wenn man mit PhpStormBest Practice arbeitet kenn man natürlich die nützliche Funktion mit einem Remote Branch zu vergleichen. Was aber, wenn man dahin zurück möchte. Es gibt natürlich auch den Fall, daß man sich vielleicht zu erst auf einen aktuellen Stand aus einem anderen Branch bringen möchte. Das kann man hier auch immer auf File-Ebene tun. Hier bietet sich der Web über ein Terminal an, da in in meinen Augen schneller und einfacher ist.

Beispiel Git Einzelnes File von anderem Branch auschecken

Es kann sein, daß man gerade Codeception Tests einführt und die Tests auch in seinem Git-Branch verfügbar haben möchte. Hier gibt es natürlich die richtige Möglichkeit den kompletten Branch zu mergen. Hier treten natürlich auch keine Konflikte auf. Sicher? Natürlich besteht die Möglichkeit in seinem aktuellen Branch Änderungen an der composer.json gemacht zu haben. Und vielleicht hat man diese verworfen, will aber trotzdem den Stand von dem anderen Branch.

Fazit Git Checkout Files von anderem Branch

Leider ist die Nutzung der Command Line für viele Webdeveloper noch ein immer eine große Hürde sich fundiertes und professionelles Wissen über Git leicht zugänglich zu machen und anzueignen.

Ich benutze PhpStorm und brauche keine Git-Commands – Webdeveloper mit 4 Jahren Berufserfahrung

Leider fällt mir da auch nicht immer die passende Antwort bei Schulungen ein und ich begebe mich verlegen in ein Schweigen. Natürlich ist das ein Einstellungsproblem und es ist leider exemplarisch für die Realität. Etwas beurteilen zu können setzt in diesem Falle natürlich Fachwissen voraus. Das hier jetzt detailliert auszuführen ist sicher nicht in dem Sinn meiner Leser.

Git bietet tolle Möglichkeiten und entwickelt sich natürlich auch weiter. Gerade in dem letzten Release ist auch wieder ein Fokus bei den neuen Features auf die Command Line gelegt worden. Hier lohnt es sich definitv auf dem laufenden zu bleiben und sich auch seine eigenen Sourcen aktuell zu halten. Eine Git-Schulung und auch eine Schulung oh-my-zsh biete ich im Rahmen von Entwicklungshilfe NRW an.

About Author

PHP Kurs und Inhouse Schulungen für Webdevelopment mit Continuous Integration - Clean Coder, Blogger, Autor, Dozent und Senior Webdeveloper www.rolandgolla.de

Leave A Reply