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: p> 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? p> Je peux arriver à cela par exemple, en le faisant simplement passer à travers grep: p> 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 Le résultat final que je veux est quelque chose comme ceci: p> Comment Souhaitez-vous faire cela? P> p> # modifié: code>. p>
3 Réponses :
Le plus court, je peux penser à:
Ê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 p>
Git Mergetool --Tool = Vimdio P> blockQuote>
Voici une paire d'alias que j'ai dans mon gitconfig, pris de Git wiki : devrait faire ce que vous voulez! p> p>
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 code>
@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 \ "\" - ') code>. 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)