it-swarm.com.de

Verwendung von Visual Studio Code als Standardeditor für Git MergeTool

Heute habe ich versucht, das git mergetool in der Windows-Eingabeaufforderung und erkannte, dass standardmäßig VIM verwendet wurde, was cool ist, aber ich würde VSCode vorziehen .

Wie kann ich Visual Studio Code als GUI für die Behandlung von Zusammenführungskonflikten (oder sogar als anderes Tool) für Git verwenden?

88
Eric D. Johnson

Ab VSCode 1.1 wurde Better Merge in den Kern von VSCode integriert.

Um sie miteinander zu verbinden, müssen Sie Ihr .gitconfig und Sie haben zwei Möglichkeiten .

  1. Geben Sie dazu bei Befehlszeileneinträgen Folgendes ein: (Hinweis: Ersetzen Sie " mit ' unter Windows Git Bash (erklärt von Iztok Delfin und e4rache)

    1. git config --global merge.tool vscode
    2. git config --global mergetool.vscode.cmd "code --wait $MERGED"
    3. git config --global diff.tool vscode
    4. git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
  2. Um dies zu tun, fügen Sie eine Zeile in das .gitconfigmit VS Code .

    • Lauf git config --global core.editor "code --wait" von der Kommandozeile.
    • Von hier aus können Sie den Befehl git config --global -e. Sie werden den Code in den "Extra Block" unten einfügen wollen.

      [user]
          name = EricDJohnson
          email = [email protected]
      [gui]
          recentrepo = E:/src/gitlab/App-Custom/Some-App
      # Comment: You just added this via 'git config --global core.editor "code --wait"'
      [core]
          editor = code --wait
      # Comment: Start of "Extra Block"
      # Comment: This is to unlock VSCode as your git diff and git merge tool    
      [merge]
          tool = vscode
      [mergetool "vscode"]
          cmd = code --wait $MERGED
      [diff]
          tool = vscode
      [difftool "vscode"]
          cmd = code --wait --diff $LOCAL $REMOTE
      # Comment: End of "Extra Block"
      

Nun ab mit in deinem Git-Verzeichnis mit einem Konfliktlauf git mergetool und, tada, Sie haben VSCode, der Ihnen bei der Bewältigung des Zusammenführungskonflikts hilft! (Stellen Sie einfach sicher, dass Sie Ihre Datei speichern , bevor Sie VSCode schließen).

Accept Incoming Change anyone?

Weitere Informationen zum Starten von code über die Befehlszeile finden Sie in den folgenden Abschnitten: docs .

Für weitere Informationen in git mergetool check out this docs .

179
Eric D. Johnson

Ich musste die doppelten Anführungszeichen durch einfache Anführungszeichen ersetzen:

  git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'

damit es richtig funktioniert.
(mit doppelten Anführungszeichen werden $ LOCAL und $ REMOTE durch ihre Werte ersetzt)

Dies ist erforderlich, wenn Sie Git Bash für Windows anstelle der Windows-Eingabeaufforderung verwenden.

12
e4rache