9
votes

Quel est le moyen le plus simple d'éditer des fichiers conflictuels en une fois lors de l'utilisation de GIT et d'un éditeur comme Vim ou Textmate?

J'essaie de modifier un peu

lorsque je tape le statut GIT sur la ligne de commande, je reçois une liste de fichiers à résoudre comme: xxx

Y a-t-il un moyen simple de transmettre cette liste de chemins de fichiers dans un éditeur de texte, de sorte que vous pouvez les modifier tout en une fois?

Je peux arriver à cela par exemple, en le faisant simplement passer à travers grep: xxx

mais je ne sais pas comment renvoyer cela en utilisant des commandes shell, ou s'il est simple de tomber dans Ruby ou Python, pour passer chaque ligne à travers une fulgurance , pour filtrer le # modifié: .

Le résultat final que je veux est quelque chose comme ceci: xxx

Comment Souhaitez-vous faire cela?


0 commentaires

3 Réponses :


3
votes

Le plus court, je peux penser à: xxx


0 commentaires

2
votes

Êtes-vous au courant de la commande git mergetool? Cela n'ouvre pas tous les fichiers en une fois, mais itérale sur tous les fichiers nécessaires, ce qui pourrait ne être que ce dont vous avez besoin. Vous pouvez même utiliser Vim pour faire la fusion

Git Mergetool --Tool = Vimdio


0 commentaires

13
votes

Voici une paire d'alias que j'ai dans mon gitconfig, pris de Git wiki : xxx

devrait faire ce que vous voulez!


5 commentaires

Je pense que c'est vraiment serviable et génial. Cependant, cela ne gère pas les espaces correctement. Voici une version que je (éventuellement) proposée qui ne se décompose pas de la rencontre de fichiers avec des espaces dans leurs noms: ! F () {git ls-fichiers --Unmedged | CUT -F2 | TRY -U | sed -r 's / / \\\\\ / g'; }; F | xargs vim


@Destin Il y a juste tellement de choses qui vont casser si vous avez des espaces dans des noms de fichiers; Si vous contrôlez le projet, je suggérerais de ne pas mettre d'espaces dans des noms de fichiers en premier lieu.


@Jefromi: Vous voulez dire qu'il y a tellement de programmes qui ne peuvent pas gérer les espaces dans les noms de fichiers. Nous devons donc y travailler en évitant les espaces.


@DESTIN: Cela ne fonctionne pas sur MSYSGIT / GIT pour Windows.


Pour les ouvrir à Vim, (parce que je démarre Neovim sous Windows sans la ligne de commande). J'utilise : exécuter "args". Système (Git non cédé | Pâte -sd \ "\" - ') . Ma commande non négligée est comme dans le commentaire de Destin, mais sans la tuyauterie à Vim, il diffuse donc les fichiers sur des lignes séparées. La partie Coller -SD met les fichiers sur une ligne pour la commande args. (ou vous pouvez utiliser tabpe)