Git-Tutorial für Fortgeschrittene

Git-Tutorial für Fortgeschrittene

Durch die Bereitstellung Ihres Projekts über ein Remote-Repository können Sie jedes Detail flexibel verwalten. Bugfixes, Feature-Updates, Dateilöschung, Teamwork, Open-Source-Beiträge, Code-Bereitstellung und mehr stehen Ihnen jetzt mit fundierten Git-Kenntnissen zur Verfügung.





Sie verwenden Git, möchten aber mehr wissen? Hier sind einige fortgeschrittene Git-Tipps, die Ihre Projektversionskontrolle zum Kinderspiel machen.





Git-Zweig

Ein Git-Zweig verhindert, dass Sie direkt zum Master-Zweig pushen. Es ist hilfreich, wenn Sie ein Projekt mit einem Entwicklerteam verwalten. Sie können beliebig viele Git-Zweigs erstellen und diese später mit dem Master-Zweig zusammenführen.





Erstellen Sie einen Git-Zweig

Um einen Git-Branch zu erstellen, verwenden Sie:

git branch branch_name

Wechseln Sie zu einem Git-Zweig

Verwenden Auschecken um zu einem Git-Zweig zu wechseln:



git checkout branch_name

Nach dem Wechsel zu einem Branch können Sie Ihre Änderungen mit bereitstellen git add --all . Bestätigen Sie sie dann mit dem git commit -m 'Commitname' Befehl.

Vergleichen Sie eine Filiale mit Master

Verwenden Sie die git diff Befehl:





git diff master..branch_name

So vergleichen Sie bestimmte Dateien:

git diff master..testb -- main.html

Der Vergleich zweier Zweige ähnelt dem Vergleich eines Zweigs mit dem Master:





git diff branch1..branch2

So sehen Sie die Unterschiede in einer bestimmten Datei zwischen zwei Zweigen:

git diff branch1..branch2 -- main.html

Push-Änderungen an eine Remote-Zweigstelle

Vielleicht möchten Sie, dass ein anderer Entwickler sich die Änderungen ansieht, die Sie an einer Datei in Ihrem lokalen Zweig vorgenommen haben, bevor sie live übertragen werden. Es empfiehlt sich, Ihren lokalen Git-Zweig in eine Remote-Replik zu verschieben, damit sie sich das ansehen können.

Angenommen, Sie haben zuvor einen lokalen Zweig namens . erstellt Änderungen . Sie können zu diesem lokalen Zweig wechseln, alle gewünschten Dateien anpassen, dann bereitstellen und in diesen Zweig übertragen.

Sie können diese Änderungen dann an die Remote-Version des Branch übertragen:

git push origin changes

Remote-Zweig mit Master mithilfe von Pull-Request zusammenführen

Ein anderer Programmierer hat also die Änderungen im Remote-Zweig geprüft ( Änderungen ). Aber Sie möchten es mit dem Master-Branch zusammenführen und live übertragen.

Denken Sie daran, dass Ihr Remote-Zweig den Namen Ihres lokalen Git-Zweigs erbt ( Änderungen ). So führen Sie die Änderungen zusammen:

Wechseln Sie in den Master-Zweig:

git checkout master

Ziehen Sie den Ursprung oder KOPF des Zweigs ( Änderungen ), um es mit dem Master-Zweig zusammenzuführen:

git pull origin changes

Übertragen Sie diese Zusammenführung live in den Master-Zweig:

git push origin master

Verwenden Sie stattdessen Git Merge

So führen Sie einen Zweig mit dem Master zusammen, indem Sie die gehen Befehl:

In den Master-Branch migrieren:

git checkout master

Zusammenführen mit dem Zweig ( Änderungen ):

git merge changes

Übertragen Sie dann die Zusammenführung live in den Master-Zweig:

PC verbindet sich nicht mit dem Internet
git push origin master

Stellen Sie sicher, dass Sie ersetzen Änderungen mit dem Namen Ihrer Filiale.

Sobald eine Zusammenführung erfolgreich war, können Sie dann Löschen Sie die Filiale lokal und aus der Ferne wenn du es nicht mehr brauchst:

Verwandt: So benennen Sie einen Zweig in Git . um

Git-Rebase

Wenn Sie mehrere Branches mit veralteten Commits haben, können Sie die Kopf/Referenzen dieser Zweige erben die Kopf/Referenzen eines aktualisierten.

Das Rebasing ist daher praktisch, wenn Sie einige Zweige mit der Basis eines aktuellen Zweigs aktualisieren müssen.

Rebasing sollte jedoch keine häufige Aktion sein, insbesondere wenn Sie mit einem Team arbeiten, da dies den gesamten Workflow stören kann. Wenn Sie jedoch alleine arbeiten und mit Ihrem Workflow und Ihren Branches vertraut sind, sollte das Rebasing keine Verwüstung anrichten, wenn Sie wissen, wo und wie es verwendet wird.

Nehmen Sie beispielsweise an, dass Sie zwei Zweige haben; Zweig1 und Zweig2. Nun haben Sie seit einiger Zeit keine Änderungen an branch1 vorgenommen. Aber Sie übertragen ständig Änderungen an branch2, auch in letzter Zeit.

Sie haben sich also entschieden, branch1 mit dem Flow mitzunehmen. Das Rebasing von branch1 in branch2 bedeutet daher, dass Sie branch1 anweisen, seine vorherigen Commits zu ignorieren und den letzten Commit an branch2 zu erben.

So können Sie das tun:

Wechseln Sie zum verlassenen Zweig (Zweig1):

git checkout branch1

Dann rebase branch1 auf den aktualisierten branch2:

git rebase branch2

Git Squash

Mit Git Squash können Sie mehrere Commits zu einem zusammenführen. Es hilft beim Laufen git-commit viele Male in einem einzigen Update. Ein praktisches Beispiel ist, wenn jeder Bugfix oder Code-Refactor für ein einzelnes Feature einen separaten Commit hat.

Aber vielleicht möchten Sie den HEAD-Commit nicht mit den begleitenden Commits pushen, da sie alle den gleichen Zweck haben. Ein empfohlener Ansatz besteht darin, sie zu einem zusammenzufassen, um Verwirrung beim Verfolgen von Commits zu vermeiden.

Der beste Weg, Commits zu quetschen, ist der interaktive Rebase-Modus. Sehen Sie sich das folgende Beispiel an, um dies besser zu verstehen.

Nehmen Sie in diesem Beispiel an, dass Sie über fünf Fehlerbehebungen verfügen. Und es gibt einen Commit für jeden von ihnen. So können Sie diese fünf Commits zu einem zusammenfassen:

Lauf git reflog um den Hash-Code Ihrer Commits anzuzeigen:

git reflog

Hier ist das Ergebnis in diesem Fall:

Ihr Ziel ist es nun, die letzten fünf Commits zu zerquetschen, beginnend mit erste Lösung bis zu fünfte Lösung .

Kopieren Sie dazu den Hash-Code des Commits direkt darunter erste Lösung ( 0a83962 ). Dann drücken Q aufhören reflog .

Jetzt lauf git rebase --interactive auf diesem Hasch.

git rebase --interactive 0a83962

Git öffnet dann eine interaktive Rebase-Datei, die wie folgt aussieht:

Um die Commits zu zerquetschen, ausgenommen die erste Lösung , ersetzen wählen mit S für jeden der anderen Commits:

Speichern und schließen Sie diese Datei.

Anschließend wird eine weitere Datei geöffnet, in der Sie den gequetschten Commit umbenennen können:

So löschen Sie Inhalte im Kalender

Bereinigen Sie diese und geben Sie einen bevorzugten Namen für den gequetschten Commit ein:

Speichern Sie diese Datei. Schließen Sie es dann und Sie sollten eine Erfolgsmeldung in Ihrem Terminal erhalten.

Notiz: Die interaktive Datei kann innerhalb des Terminals geöffnet werden. Wenn Sie jedoch unter Windows arbeiten, möchten Sie möglicherweise Ihr Terminal dazu zwingen, Dateien global in Ihrem bevorzugten Texteditor zu öffnen, um das Quetschen zu vereinfachen.

Öffnen Sie dazu Ihre Befehlszeile und führen Sie Folgendes aus:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork vs. Git Clone

Forking und Cloning sind zwei verschiedene Begriffe in Git. Sie können Ihr Repository nicht forken, da es bereits bei Ihnen ist. Sie können jedoch das Repository anderer Leute forken und anschließend klonen.

Ein Repository zu forken bedeutet, dass Sie eine Kopie des Repositorys von jemandem greifen und es zu Ihrem machen. Sobald Sie eine Kopie dieses Repositorys erhalten haben, können Sie es wie jedes Ihrer Git-Repositorys für lokale Änderungen klonen.

So geht's ein Remote-Repository klonen auf GitHub und starten Sie einen Download in Ihr lokales Verzeichnis:

git clone https://github.com/username/repository_name.git/

Wiederherstellen einer Datei in ihrem Standardzustand

Wenn Sie die Änderungen in einer Datei nach dem letzten Commit löschen möchten, können Sie das git wiederherstellen Befehl:

git restore filename

Ein Commit ändern

Sie können auf einen früheren Commit zurückgreifen, wenn Sie beim Staging vergessen, Änderungen an einigen Dateien vorzunehmen.

Nehmen Sie Änderungen an der vergessenen Datei vor. Dann benutze git ändern So überprüfen Sie ein Commit:

git add file_forgotten
git commit --amend

Unstage-Dateien

Sie können bestimmte Dateien, die Sie für einen Commit bereitgestellt haben, mithilfe von . entfernen geh rm Befehl:

git rm --cached filename

Sie können auch mehrere Dateien gleichzeitig entfernen:

git rm --cached file1 file2 file3 file4

Denken Sie daran, die entsprechende Dateierweiterung an jede Datei anzuhängen, die Sie freistellen möchten. Eine reine Textdatei sollte beispielsweise Dateiname.txt .

Verwandt: So bereinigen Sie Git und entfernen nicht verfolgte Dateien

Git-Reset

Verwenden von git zurücksetzen ist hilfreich, wenn Sie alle Dateien, die Sie für einen Commit bereitgestellt haben, auf einmal löschen möchten:

git reset

Git reset HEAD weist jedoch den HEAD eines Branchs auf einen bestimmten Commit in Ihrem Arbeitsbaum. Wenn Sie beispielsweise Ihr aktuelles Commit noch nicht übertragen haben, können Sie auf das kürzlich übertragene Commit zurückgreifen:

git reset --soft HEAD~1

Ersetzen --weich mit --schwer Wenn Sie den aktuellen Commit bereits gepusht haben:

git reset --hard HEAD~1

Gehen Sie zurück

nicht so wie zurücksetzen Befehl, geh zurück behält die Integrität Ihres Commit-Verlaufs bei. Dies ist praktisch, wenn Sie einen Commit aufgrund von Fehlern oder Bugs ändern möchten.

Es gibt weder den Ziel-Commit auf noch macht er einen neuen. Stattdessen werden die letzten Änderungen, die Sie vorgenommen haben, zurückgesetzt, ohne einen solchen Commit zu löschen oder umzubenennen. Es ist eine großartige Möglichkeit, Ihre Commits sauberer zu halten, und es ist sicherer, als die ganze Zeit zurückzusetzen.

So kehren Sie zu einem Commit zurück:

git revert HEAD~1

Woher KOPF~1 zeigt auf einen bestimmten Commit in Ihrem Arbeitsbaum.

Löschen einer verfolgten Datei oder eines Verzeichnisses

Sie können verwenden git rm -f um alle verfolgten Dateien in Ihrem Arbeitsbaum zu löschen. Beachten Sie jedoch, dass Git nicht verfolgte Dateien nicht entfernen kann, da sie nicht zwischengespeichert werden.

So löschen Sie eine bereitgestellte Datei:

git rm -f filename

So entfernen Sie einen bereitgestellten Ordner:

git rm -r -f foldername

Git-Logging

So zeigen Sie Ihre Commit-Logs und Ihren Verlauf in Git an:

git log

So protokollieren Sie die Aktivitäten in einer bestimmten Filiale:

git log branch_name

Verwandt: So überprüfen Sie den Verlauf eines Projekts mit git log

Manchmal möchten Sie vielleicht zu einem abgebrochenen Commit zurückkehren. So zeigen Sie abgebrochene Commits an, einschließlich der relevanten:

git reflog

So zeigen Sie Ref-Logs für einen bestimmten Branch an:

git reflog branch_name

Verwalten Sie Ihre Projektversionen wie ein Profi mit Git

Da Git viele Vorteile bietet, können Sie Ihre Projektversionen aus der Ferne verwalten, ohne Dateien und Ordner vor Ort in Ihrer Hauptniederlassung zu knacken. Darüber hinaus können Sie Projekte problemlos mit einem Team durchführen.

Wie Sie gesehen haben, bietet Git viele Funktionen, die Sie erkunden können. Achten Sie jedoch darauf, diese Funktionen gezielt einzusetzen. Andernfalls könnten Sie am Ende Dinge kaputt machen. Sie können jedoch immer noch ein Demo-Remote-Repository einrichten und mit diesen Funktionen herumspielen.

Teilen Teilen Tweet Email Verwalten Sie Ihre Dateiversionierung wie ein Programmierer mit Git

Programmierer haben Versionskontrollsysteme (VCS) entwickelt, um Probleme mit der Dateiversionskontrolle zu lösen. Schauen wir uns die Grundlagen der Versionskontrolle mit dem heutigen Top-System Git an.

Weiter lesen
Verwandte Themen
  • Programmierung
  • Web Entwicklung
  • GitHub
  • Codierungs-Tutorials
Über den Autor Idisou Omisola(94 veröffentlichte Artikel)

Idowu hat eine Leidenschaft für alles, was smarte Technologien und Produktivität ist. In seiner Freizeit spielt er mit Programmieren und wechselt bei Langeweile aufs Schachbrett, aber er liebt es auch, ab und zu aus der Routine auszubrechen. Seine Leidenschaft, Menschen den Weg in die moderne Technik zu weisen, motiviert ihn, mehr zu schreiben.

Mehr von Idowu Omisola

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren