Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Sie können Ihre Arbeit in einem Branch Ihres lokalen Git-Repositorys freigeben, indem Sie Ihre Änderungen in ein Remoterepository hochladen, auf das andere zugreifen können. Der Git Push-Befehl lädt neue Commits aus Ihrem lokalen Branch in den entsprechenden Branch eines Remoterepositorys hoch. Visual Studio verwendet den Push-Befehl, wenn Sie Ihre Arbeit mit einem Remoterepository synchronisieren.
Nachdem Sie einen oder mehrere Commits einem lokalen Branch hinzugefügt haben, können Sie die Commits an einen Remotebranch „pushen“, um Ihre Arbeit mit anderen zu teilen oder zu sichern. Wenn Sie den Push-Befehl verwenden, überprüft Git, ob sich Ihr lokaler Branch auf demselben Stand wie der Remotebranch befindet. Andernfalls verhindert Git, dass Sie neue Commits pushen, bis Sie Ihren lokalen Branch aktualisiert haben. Um dieses Problem zu beheben, können Sie einen Pull ausführen, um die in Ihrem lokalen Branch fehlenden Remotebranchcommits abzurufen. Wenn die gepullten Remotecommits und Ihre lokalen Commits einen Konflikt verursachen, versuchen Sie, diese Konflikte zu lösen, bevor Sie Ihre Änderungen pushen.
Damit der Git Push-Befehl funktioniert, muss Ihr lokales Repository mit einem Git-Remoterepository verbunden sein. Wenn Sie Ihr lokales Repository aus einem Remoterepository geklont haben, sind sie bereits verbunden. Wenn Sie ihr lokales Repository jedoch nicht geklont haben, müssen Sie es mit einem gehosteten Git-Repository verbinden. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Azure Repos-Git-Repository und Herstellen einer Verbindung mit einem GitHub-Repository.
Tipp
Damit Ihre Arbeit per Pull Request überprüft werden kann, sollten Sie nicht direkt im main-Branch Ihres lokalen Repositorys arbeiten. Speichern Sie stattdessen Ihre Commits in einem lokalen Featurebranch- oder Bugfixbranch, und pushen Sie diesen Branch, nachdem Sie Ihre Arbeit abgeschlossen haben. Eine Übersicht über den Git-Workflow finden Sie im Azure Repos-Git-Tutorial.
Visual Studio 2022 bietet Git-Versionskontrolle mithilfe des Git-Menüs, Git-Änderungen sowie über Kontextmenüs im Projektmappen-Explorer. Visual Studio 2019, Version 16.8, bietet auch die Team Explorer-Git-Benutzeroberfläche. Weitere Informationen finden Sie auf der Registerkarte Visual Studio 2019 – Team Explorer.
Wählen Sie im Fenster Git-Änderungen die Schaltfläche „Pushen“ mit Pfeil nach oben aus, um den Commit zu pushen.
Alternativ können Sie Ihre Änderungen über das Fenster Git-Repository pushen. Um das Git-Repositoryfenster zu öffnen, wählen Sie den Link „Ausgehend/Eingehend“ im Fenster Git-Änderungen aus.
Alternativ können Sie Ihre Änderungen über das Git-Menü auf der Menüleiste pushen.
Visual Studio 2019 bietet Git-Versionskontrolle über das Git-Menü, Git-Änderungen und über die Kontextmenüs im Projektmappen-Explorer.
Wählen Sie im Fenster Git-Änderungen die Schaltfläche „Pushen“ mit Pfeil nach oben aus, um den Commit zu pushen.
Alternativ können Sie Ihre Änderungen über das Fenster Git-Repository pushen. Um das Git-Repositoryfenster zu öffnen, wählen Sie den Link „Ausgehend/Eingehend“ im Fenster Git-Änderungen aus.
Alternativ können Sie Ihre Änderungen über das Git-Menü auf der Menüleiste pushen.
Visual Studio 2019, Version 16.8 und höher, bietet eine Benutzeroberfläche für Git-Versionskontrolle, während die Team Explorer-Git-Benutzeroberfläche beibehalten wird. Um Team Explorer zu verwenden, deaktivieren Sie in der Menüleiste Extras>Optionen>Vorschaufeatures>Neue Git-Benutzeroberfläche. Sie können Git-Features über beide Oberflächen nutzen.
Wählen Sie in Team Explorer die Option Start und dann Synchronisieren aus, um die Synchronisierung zu öffnen.
Sie können auch unter Änderungen zur Ansicht Synchronisierung wechseln, indem Sie sofort nach einem Commit Synchronisieren auswählen.
Wählen Sie in der SynchronisierungsansichtPushen aus, um Ihren Commit in das Remoterepository hochzuladen. Wenn dies Ihr erster Push an das Repository ist, wird diese Meldung angezeigt: The current branch does not track a remote branch..., die Sie darüber informiert, dass Ihr Commit an einen neuen Branch im Remoterepository gepusht wurde und dass zukünftige Commits, die aus dem aktuellen Branch gepusht werden, in diesen Remotebranch hochgeladen werden.
Obwohl Sie nur selten einen lokalen Branch an einen Remotebranch mit einem anderen Namen pushen müssen, können Sie dies mithilfe des nicht abgekürzten Git Push-Befehls erledigen:
Führen Sie den folgenden vereinfachten Push-Befehl aus, um neue Commits von Ihrem lokalen Branch an einen Remotebranch mit demselben Namen zu pushen. Wenn das Remoterepository keinen Branch mit demselben Namen enthält, wird durch diesen Befehl ein neuer Remotebranch mit demselben Namen und denselben Commits wie Ihr lokaler Branch erstellt.
git push <remote repo> <local branch name>
Wenn Sie ein Remoterepository klonen, weist Git den Alias origin als Kürzel für die URL des geklonten Remoterepositorys zu. Führen Sie git remote -v aus, um den Wert von Alias origin zu überprüfen. Um den Alias origin manuell hinzuzufügen, führen Sie git remote add origin <remote repo url> aus. Mit dem Alias origin können Sie den Push-Befehl weiter vereinfachen:
git push origin <local branch name>
Führen Sie den folgenden vereinfachten Push-Befehl aus, um neue Commits von Ihrem aktuellen lokalen Branch an einen Remotebranch mit demselben Namen zu pushen. Wenn das Remoterepository keinen Branch mit demselben Namen enthält, schlägt dieser Befehl fehl.
git push origin
Wenn Ihr aktueller lokaler Branch einen Remotebranch auf origin nachverfolgt, können Sie den Pushbefehl vollständig abkürzen:
git push
Der vollständig abgekürzte Pushbefehl schlägt jedoch fehl, wenn von Ihrem lokalen Branch kein Remotebranch nachverfolgt wird. Führen Sie git remote show origin aus, um den Nachverfolgungsstatus Ihrer Branches zu überprüfen. Führen Sie einmal git push --set-upstream origin <local branch name> aus, um Ihren aktuellen lokalen Branch zu pushen und festzulegen, dass der gleichnamige Remotebranch auf origin nachverfolgt wird. Durch das --set-upstream-Flag wird ein Remotebranch mit demselben Namen erstellt, falls er noch nicht vorhanden ist.
Wenn Sie an einem lokalen Featurebranch (oder Bugfixbranch) arbeiten, empfiehlt es sich, Ihren Branch regelmäßig mit den neuesten Änderungen aus dem main-Branch zu aktualisieren. Je nachdem, wie Sie dabei vorgehen, können der lokale Commitverlauf und der Remotecommitverlauf für Ihren Featurebranch voneinander abweichen, sodass der Git Push-Befehl einen Fehler zurückgibt. Wenn Sie als einziger Push-Befehle für den Remotefeaturebranch ausführen und sicher sind, dass Ihr lokaler Featurebranch Ihre gesamte benötigte Arbeit enthält, können Sie den Git Push-Befehl mit dem --force-Flag verwenden, um alle Commits auf dem Remotefeaturebranch durch die Commits aus Ihrem lokalen Featurebranch zu ersetzen. Weitere Informationen zum Git Push-Befehl, einschließlich weiterer force-Optionen, finden Sie im Git-Referenzhandbuch.
Nachdem Sie Ihre Commits gepusht haben, können Sie einen Pull Request erstellen, um anderen mitzuteilen, dass Sie Ihre Änderungen überprüfen lassen möchten. Wenn sie genehmigt werden, werden Ihre Änderungen in einen Zielbranch des Remoterepositorys gemergt.