Häufig gestellte Fragen zu Git

Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Wie kann ich auf einfache Weise einen Remoteverzweigung in mein lokales Repository herunterladen?

Stellen Sie zunächst sicher, dass Sie ein origin Repository konfiguriert haben. Sie sollten über ein solches Repository verfügen, wenn Sie ) Ihr Repository geklont git clone haben. Wenn Sie einen Branch auschecken, der nicht lokal vorhanden ist, ermittelt Git, ob ein Remoteverzweigung mit dem gleichen Namen vorhanden ist. Falls vorhanden, erstellt Git einen lokalen Branch mit einem Verweis auf den Remoteverzweigung dieses Namens. Verwenden Sie git pull , um die Commits herunterzuladen und Git lokal über den Branchverlauf auf dem Aktuellen zu halten.

Wie kann ich herausfinden, in welchem Branch ich arbeite?

git branchohne Argumente werden die lokalen Verzweigungen und hervorgehoben, die Sie ausgecheckt haben. In Visual Studio zeigt die Statusleiste auch den aktuellen Branch an, wenn Sie mit einem Projekt arbeiten, das in einem lokalen Git-Repository gespeichert ist.

Wann sollte ich Git-Commits vornehmen?

Es wird akzeptiert, separate Commits für logisch separate Änderungen vorzunehmen. Stellen Sie sich Commits als Einträge in einem Logbook vor. Wenn Sie eine Änderung vornehmen, die es zu notieren lohnt, notieren Sie sie in einem Commit. Eine beliebte Option besteht darin, jedem zu ermöglichen, lokal so viel wie gewünscht zu committen, aber bevor sie die lokalen Commits pushen, werden sie zuerst durch Rebasierung squasht. Diese Option bietet Benutzern die Flexibilität, häufige Commits vorzunehmen, während der Commitverlauf optimiert bleibt.

Wenn jeder Branch seinen vollständigen Commitverlauf beibehält, ist der Commitverlauf von *main* nicht im Laufe der Zeit schwer nachzuvollziehen?

Große Projekte mit vielen Commits und einer Reihe von Mitwirkenden können zu Commitverläufen für den main Branch führen, der den Entwicklungsverlauf der Themenbranches darstellt, die mit mehr als dem Entwicklungsverlauf des gesamten Projekts zusammengeführt main werden. Git bietet eine Möglichkeit zum Komprimieren von Commits in Branches durch Dasquarieren von Commits und das Rebasieren von. Durch das Squashing von Commits wird der Commitverlauf in einem Branch weniger ausführlich und ein einfacherer Commitverlauf für den Hauptverzweigung nach der Zusammenführung ermöglicht.

Wie kann ich herausfinden, wer eine bestimmte Änderung an einer Datei vorgenommen hat?

Verwenden Sie den git blame Befehl , um herauszufinden, wer eine bestimmte Änderung an einer Datei vorgenommen hat. In Ihrem lokalen Repository können Sie mit dem -Parameter ausführen git blame und -L angeben, welche Zeilen von Interesse sind. Blame erzeugt eine formatierte Ausgabe, die den Commit anzeigt, der die Zeile zuletzt aktualisiert hat, sowie den Namen der Person, die den Commit durchgeführt hat.

> git blame foo.js -L 20,+40  # show the blame output for the next 40 lines starting at line 20

215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 22) line 22 of the code

Blame durchsucht den Commitverlauf nach Ihnen. Sie können auch den Verlauf einer Datei im Webportal überprüfen, um zu bestimmen, wer wann eine Änderung vorgenommen hat. Öffnen Sie den Code-Explorer für Ihr Repository und Ihren Branch, und klicken Sie dann auf die datei von Interesse. Azure Repos zeigt einen vollständigen Commitverlauf für diese Datei im aktuellen Branch an.

Ich habe Änderungen an einigen Dateien vorgenommen und kann jetzt nicht in einen anderen Branch auschecken oder meine Arbeit neu erstellen.

Das Auschecken in einen anderen Branch in Git wirkt sich auf den Status von Dateien in Ihrem Dateisystem aus. Git verwendet den Commitverlauf, um sicherzustellen, dass Sie mit den Dateien arbeiten, die den Status Ihres Branchs darstellen. Wenn Sie versuchen, Branches zu ändern, während Sie keine Änderungen ausgeführt haben, werden diese Änderungen während des Auscheckens überschrieben. Da Git nicht möchte, dass Ihre Änderungen versehentlich verloren gehen, verhindert es das Auschecken. Sie haben zwei Möglichkeiten:

  • Verwerfen Sie die Änderungen, und kehren Sie zum letzten Commit zurück. Anweisungen zum Zurücksetzen auf den letzten Commit finden Sie unter Rückgängig machen von Änderungen in Git.
  • Führen Sie für die Änderungen einen Commit aus. Weitere Informationen finden Sie unter Speichern Ihrer Arbeit in Git mit Commits.
  • Legen Sie Ihre aktuelle Arbeit fest, speichern Sie die Änderungen für später, und bereinigen Sie den Arbeitsbereich bis zum letzten Commit.

Ich habe einige Arbeit erledigt, muss aber zu etwas anderem wechseln. Wie kann ich meine Arbeit später speichern, ohne die Änderungen zu committen?

Manchmal möchten Sie die Änderungen beibehalten, aber nicht committen, da sie sich nicht an einem Punkt befinden, an dem Sie damit vertraut sind. Verwenden Sie Git stash . Stash übernimmt die aktuellen gestagelten und nicht mit Tags angezeigten Änderungen in Ihrem Branch und speichert die Arbeit und kehrt dann zum Zustand des letzten Commits zurück. Sie können zum anderen Branch wechseln, Ihre Arbeit erledigen und dann zu diesem Branch zurückkehren, stash apply um die Änderungen wiederherzustellen.

> git stash
Saved working directory and index state WIP on feature1: be26067 updated endpoint docs
HEAD is now at be26067

Wenn Sie git stash apply die letzten stashed-Änderungen ausführen, werden sie auf Ihren aktuellen Branch angewendet. Wenn beim Anwenden der stashed-Änderungen ein Konflikt vorliegt, stash stellt die Änderungen für die Dateien wieder her, die keinen Konflikt verursachen, und erstellt Konfliktmarker in den Dateien, für die ein Konflikt besteht. In diesem Fall sollten Sie die Änderungen manuell zusammenführen.

Nachdem Sie den Stash abgeschlossen haben, löschen Sie ihn mit git stash drop Diesem Befehl werden die letzten stashed-Änderungen entfernt.

Sie können über mehrere Stashes verfügen, aber dies erfordert mehr manuelle Bearbeitung, da Sie Stashes explizit anwenden und löschen müssen. Weitere Informationen finden Sie in der Git Stash-Dokumentation.

Wie kann ich den Standard-Editor für Git-Befehlszeilentools ändern?

Standardmäßig verwendet Git über die Befehlszeile einen Befehlszeilen-Editor, wenn commit-Nachrichten, Rebases und andere Arbeiten gefordert werden, für die zusätzliche Informationen erforderlich sind. Der Standard-Editor wird mit git config konfiguriert:

> git config core.editor _path_to_editor_ _options_to_editor_

Git For Windows erleichtert das Festlegen von Editor als Editor:

> git config core.editor notepad

Dadurch wird Windows Editor konfiguriert, um Git-Informationen nach Bedarf zu bearbeiten und den Text von Git ordnungsgemäß an Editor zu übergeben. Sie können auch angeben,

> git config format.commitMessageColumns 72 

So behalten Sie die Textspalten in den Commitnachrichten an den bevorzugten 72- und Zeilenumbruch bei, nachdem dieser Zeichengrenzwert in einer Zeile erreicht wurde.

Wie kann ich den Benutzernamen und die E-Mail-Adresse ändern, die in meinen Commits angezeigt werden?

Git fügt einen Benutzernamen und E-Mail-Adressinformationen in jeden Commit ein, und Azure Repos verwendet diese Informationen beim Anzeigen von Commits und beim Arbeiten mit Pull Requests. Wenn Sie an der Befehlszeile arbeiten, können Sie den Namen und die E-Mail-Informationen aktualisieren, die mit dem Befehl angezeigt git config werden:

> git config --global user.email "frank@fabrikam.com"
> git config --global user.name "Francis Totten"

Die --global Option legt die E-Mail-Adresse und den Namen fest, die in Commits für alle Git-Repositorys auf diesem System enthalten sind. Wenn Sie die Einstellungen für ein einzelnes Repository ändern möchten, müssen Sie zu dem Verzeichnis wechseln, in dem sich das Git-Repository befindet, und die obigen Befehle ohne das --global -Flag ausführen.

Sie können den Namen und die E-Mail-Einstellungen auch über Visual Studio ändern. Wählen Sie in Team Explorer Einstellungen aus, und klicken Sie unter Gitauf den Link Global Einstellungen oder Repository Einstellungen.