Comment utiliser le Code de Visual Studio comme Éditeur par Défaut pour Git MergeTool
Aujourd'hui j'ai essayé d'utiliser le git mergetool
sur Invite de Commande Windows et réalisé qu'il était en défaut à utiliser VIM, ce qui est cool, mais je préfère VSCode.
Comment puis-je avoir Code de Visual Studio fonction de mon interface graphique pour la manipulation des conflits de fusion (ou même comme un outil de comparaison) pour Git?
Vous devez vous connecter pour publier un commentaire.
De VSCode 1.13 Mieux de Fusion a été intégrée dans le noyau de VSCode.
La façon de câbler ensemble est de modifier votre
.gitconfig
et vous avez deux options.Pour ce faire avec des entrées de ligne de commande, entrez chacune de ces: (Remarque: remplacer
"
avec'
sur Windows Git Bash, comme précisé par Iztok Delfin et e4rache)git config --global merge.tool vscode
git config --global mergetool.vscode.cmd "code --wait $MERGED"
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
Pour ce faire par le collage d'une ligne dans le
.gitconfig
avec VS Code.git config --global core.editor "code --wait"
à partir de la ligne de commande.De là, vous pouvez entrer la commande
git config --global -e
. Vous voulez le coller dans le code "Extra Bloc" ci-dessous.Maintenant à partir de votre répertoire git avec un conflit exécuter
git mergetool
et voila, vous avez VSCode vous aider à gérer le conflit de fusion! (Assurez-vous de enregistrer votre fichier avant la fermeture VSCode).Pour en savoir plus sur le lancement de
code
à partir de la ligne de commande rechercher dans ces docs.Pour plus d'info en
git mergetool
découvrez ces docs.<<<< HEAD
et>>>> develop
?vscode
spécifié?vscode
est juste un nom de variable que vous choisissez, sur les lignes commetool = vscode
puis de référence de nouveau dans les citations ci-dessous que dans[mergetool "vscode"]
. Vous pouvez utilisertool = vs-code-beats-chuck-norris
et puis[mergetool "vs-code-beats-chuck-norris"]
et il doit encore travailler.unknown tool: vscode
... je suis assez sûr de faire appel VsCode en ligne de commande, vous devez utilisercode
au lieu devscode
cmd = code --wait $MERGED
, vous avez raison, vous avez besoin d'utiliser le "code", mais dans les lignes de référence ci-dessus (tool = vscode
et[mergetool "vscode"]
) vous pouvez choisir le nom de la variable, comme a été mentionné ci-dessus dans la réponse à @FiruzzZ .code => vscode
. Vous devriez probablement utilisercode
que ce serait rendre les choses plus faciles..gitconfig
on peut essayer de faire un peu de débogage de collaboration et de voir si nous pouvons le comprendre. Loin d'avertissement je n'aie pas de matériel sous macOS, mais puisque vous êtes un PowerShell nerd je devine que vous êtes rocking Windows.git difftool -d
pour un répertoire de diff. Je vais vérifier comment cela fonctionne demain.git difftool -d
est assez cool, VS code n'a pas une bonne façon de diff deux dossiers. Le résultat est un VS code exemple avec l'une de droite et de gauche dossier de, mais vous avez besoin de sélectionner manuellement le correspondant de droite et de gauche des fichiers, cliquez avec le bouton droit de les comparer. Pas très pratique.[core]
au lieu de[code]
(ne peut pas le modifier si je writeing comme un commentaire)J'ai dû remplacer les guillemets simples citations:
pour qu'il fonctionne correctement.
(avec les guillemets, $LOCALE et $DISTANCE sont remplacés par leurs valeurs)
Cette opération est nécessaire si vous utilisez Git Bash pour Windows à la place de l'Invite de Commande Windows.
:^)
À l'aide de ce manuel, vous pouvez trouver un argument intéressant:
Avec cette information, vous pouvez facilement utiliser la commande suivante sans toucher à la configuration git:
Question similaire ici