Ist es möglich, ein Git Pull –rebase mit Git-Tools von Visual Studio durchzuführen (und kann es standardmäßig festgelegt werden)

Lesezeit: 4 Minuten

Benutzer-Avatar
LocalPCGuy

Erstens, wie der Titel schon sagt, ist es sogar in einem einzigen Schritt möglich (dh nicht fetch dann rebase), um a zu tun pull --rebase?

Zweitens gibt es eine Einstellung in Visual Studio, um die integrierten Team Explorer-Git-Tools zu zwingen, immer Folgendes zu tun: pull --rebase eher als ein Standard pull (fetch/merge).

Mir ist bewusst, dass Sie die Standardeinstellung in den globalen oder Projektkonfigurationsdateien mit festlegen könnten git config branch.autosetuprebase always, aber ich wollte speziell herausfinden, ob Visual Studio diese Einstellung aktualisieren/ändern kann oder eine ähnliche Option hat, wie die meisten anderen GUIs. Ich habe nichts gefunden, also scheint es nicht so zu sein, daher die Frage.

  • Verwenden Sie die IDE für IDE-Zeug und Versionsverwaltungstools für die Versionsverwaltung stackoverflow.com/q/19358148/520162. Ich kenne keine IDE, die mit der Leistungsfähigkeit von Git richtig umgehen könnte, also verwende ich die einzig wahre Schnittstelle zu Git, die Befehlszeile. Ich würde jedoch nicht mit dem Debuggen oder Programmieren über die Befehlszeile beginnen. Hier zeichnen sich IDEs normalerweise aus.

    – eckes

    2. April 2015 um 10:34 Uhr


  • Persönlich stimme ich Ihnen zu, aber meine Frage ist sehr spezifisch, da es andere gibt, die das IDE-Ökosystem so weit wie möglich nutzen möchten. Ich versuche, ihre Unterbrechung zu minimieren und gleichzeitig Best Practices für Git zu verwalten. Wenn die Endantwort lautet, einfach die CLI oder ein Tool wie SourceTree zu verwenden, ist es schön, konkrete Gründe dafür zu haben, z. B. dass Sie X nicht mit der IDE ausführen können

    – LocalPCGuy

    2. April 2015 um 12:12 Uhr

  • @CarrieKendall Ich habe nicht einmal daran gedacht, mir die Antwort anzusehen. Vielen Dank.

    – NathanOliver

    14. Juli 2015 um 14:12 Uhr

  • +1 für git config branch.autosetuprebase always. Das sind meine neuen Erkenntnisse für heute, bitte nicht mehr bis morgen.

    – Paul Hicks

    27. August 2015 um 1:51 Uhr

  • Ich muss abstimmen, um das zu bekommen: visualstudio.uservoice.com/forums/330519-team-services/…

    – Laurencee

    24. Februar 2016 um 3:58 Uhr

Benutzer-Avatar
Wonder

In VS2017 können Sie die integrierte Funktion verwenden, um die Git-Einstellungen für die Rebase zu ändern: gehen Sie zu Team-Explorer -> Heim -> Einstellungen -> Globale Einstellungen oder Repository-Einstellungen -> einstellen Basieren Sie den lokalen Zweig beim Ziehen neu: WAHR (Bildschirmfoto)

  • Irgendeine Idee, ob ich etwas in die Quellcodeverwaltung einchecken kann, damit dies auch für andere Teammitglieder für ein bestimmtes Repo zum Standard wird? Oder muss das durch irgendeine Art von Visual Studio-Richtlinien geteilt werden?

    – mutex

    2. Juni 2020 um 23:35 Uhr


  • docs-Link: docs.microsoft.com/en-us/azure/devops/repos/git/…

    – Gaffgesicht

    6. Mai um 22:18 Uhr

Visual Studio 2015 unterstützt Pull+Rebase nicht. Sie können dies manuell erreichen, indem Sie einen Abruf von „Branch“ durchführen und dann eine Rebase auf „Origin/Branch“ durchführen. Aber nicht automatisch.

Visual Studio 2017 (Release Candidate) führt derzeit Pull+Rebase aus, wenn es als Standardoption in Ihren globalen Git-Einstellungen konfiguriert ist. Es gibt derzeit noch eine Warnung mit der Aufschrift “unerwartetes Zusammenführungsergebnis”. Ich hoffe, dass dies behoben wird, bevor die endgültige Version herauskommt.

  • 2015 unterstützt pull –rebase nicht direkt, unterstützt aber das Rebasing auf einen aktuellen Remote-Zweig.

    – gabio

    11. November 2017 um 22:03 Uhr

  • Aus dem Verzweigungsfenster, nachdem Sie einen Abruf durchgeführt haben.

    – Jessehouwing

    11. November 2017 um 22:18 Uhr

Öffnen Sie Git Bash und fügen Sie Folgendes ein:

git config --global branch.autosetuprebase always

Dies wird jede Zukunft machen pull a pull --rebase.

  • Diese Einstellung wird von der Git-Clientimplementierung in Visual Studio 2015 nicht unterstützt.

    – Jessehouwing

    18. Januar 2017 um 21:20 Uhr

  • Es funktioniert für mich, obwohl es bei nicht festgeschriebenen Änderungen auf einen normalen Pull zurückfällt. Ich muss noch “git stash” in Visual Studio finden.

    – GaloisGirl

    19. Januar 2017 um 21:58 Uhr

  • Es führt ein automatisches Stash/Unstash durch, wenn Branches gewechselt werden. Andernfalls wird Stash nicht unterstützt, Sie könnten stattdessen einfach einen weiteren temporären Zweig erstellen.

    – Jessehouwing

    20. Januar 2017 um 5:55 Uhr

  • Visual Studio ignoriert alle Einstellungen, die Sie beim Pullen geändert haben. Wenn Sie einen Pull durchführen, ohne lokale Änderungen vorzunehmen, führt dies zu einem schnellen Vorlauf (also kein Merge-Commit). Ich habe die von Ihnen angegebene Einstellung geändert (und set pull.rebase preserve auch) und bei lokalen Änderungen erstellt es immer noch einen Merge-Commit. Vs tut a pull --no-rebase immer wenn du sync drückst (Quelle: visualstudio.uservoice.com/forums/121579-visual-studio-ide/… )

    – Werkzeugmacher

    30. März 2017 um 8:43 Uhr


Benutzer-Avatar
gabio

Dies ist so nah wie möglich an einer tatsächlichen Ausführung rebase pull.

Führen Sie zuerst einen Abruf auf der Fernbedienung durch, auf die Sie rebasen möchten. Es wird kein “pull –rebase” sein, aber Sie können zu Team Explorer > Branches > Remotes > (wählen Sie Ihre Fernbedienung) > mit der rechten Maustaste auf den gewünschten Branch klicken rebase onto und klicken rebase onto Klicken Sie auf Rebase und Sie haben im Grunde einen Pull/Rebase auf den Remote-Zweig durchgeführt.

(Aber derzeit ist dies die einzige Möglichkeit, auf Remote-Updates umzubasieren, ohne zu einer Git-Bash zu laufen.)

1271360cookie-checkIst es möglich, ein Git Pull –rebase mit Git-Tools von Visual Studio durchzuführen (und kann es standardmäßig festgelegt werden)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy