Sto cercando di modificare un po 'Qual è il modo più semplice per modificare file in conflitto in una volta sola quando si utilizza git e un editor come Vim o textmate?
Quando digito in git status sulla riga di comando, ho un elenco di file che devono essere risolti in questo modo:
# Unmerged paths: #
# (use "git reset HEAD <file>..." to unstage)
# (use "git add <file>..." to mark resolution)
#
# both modified: apache2/templates/default/apache2.conf.erb
# both modified: bootstrap/attributes/default.rb
# both modified: iptables/metadata.rb
# both modified: kickstart/templates/default/ks.cfg.erb
# both modified: openssl/metadata.json
# both modified: postfix/metadata.json
# both modified: postfix/templates/default/main.cf.erb
Esiste un modo semplice per passare questo elenco di percorsi di file in un editor di testo, in modo da poterli modificare tutti in una volta sola?
posso arrivare a questo, ad esempio, semplicemente tubazioni attraverso grep:
[17:37]:git status | grep "both modified"
# both modified: apache2/templates/default/apache2.conf.erb
# both modified: bootstrap/attributes/default.rb
# both modified: iptables/metadata.rb
# both modified: kickstart/templates/default/ks.cfg.erb
# both modified: openssl/metadata.json
# both modified: postfix/metadata.json
# both modified: postfix/templates/default/main.cf.erb
Ma io non sono sicuro di come restituire questo utilizzando solo comandi della shell, o se è più semplice per cadere in rubino o python, per passare ogni riga attraverso un'espressione regolare, per filtrare lo # both modified:
.
Il risultato finale che voglio è qualcosa di simile:
vim #{space_separated_list_of_files}
come sarebbe voi ragazzi fare questo?
Penso che questo sia davvero utile e fantastico. Tuttavia, non gestisce gli spazi correttamente. Ecco una versione alla quale (alla fine) è venuto in mente che non si rompa dall'incontrare file con spazi nei loro nomi: '! F() {git ls-files --unmerged | cut -f2 | ordina -u | sed -r 's// \\\\/g'; }; f | xargs vim' – Destin
@Destin Ci sono così tante cose che si romperanno se ci sono spazi nei nomi dei file; se controlli il progetto ti suggerirei di non inserire spazi nei nomi dei file. – Cascabel
@Jefromi: vuoi dire che ci sono così tanti programmi che non possono gestire gli spazi nei nomi dei file, quindi dobbiamo aggirare evitando gli spazi. – siride