2013-07-12 9 views
21

C'è un modo carino per chiamare git mv su un file da dentro magit? So che è possibile eseguire qualsiasi comando git con :, ma questo non comporterà il completamento automatico dei nomi file.Come usare git mv da magit?

+0

Solo per informazioni: cosa ne pensi di 'git mv'? Ti rendi conto che git non traccia le mosse? git mv semplicemente rinomina il file, rimuove il vecchio nome dall'indice e ne aggiunge uno nuovo. – Chronial

+3

Sì, è proprio come tutto il resto in Magit è fondamentalmente uno/due keypress (es), speravo che ci fosse qualcosa per 'mv'. – Yossarian

risposta

18

non sono sicuro due piedi se c'è un modo diretto, ma ...

Dato che un mvè la stessa cosa di un rm più un add, si può semplicemente rinominare il file normalmente (ad esempio, in dired), e quindi mettere in scena entrambe le modifiche conseguenti: un file cancellato e un nuovo file.

Git dovrebbe capirlo.

Edit:

M-xvc-rename-file?

+0

Questo funziona, ma stavo cercando qualcosa per farlo automaticamente. ': mv/path/to/file1/path/to/file2' (da un buffer di magit) è ancora più veloce, ma non si completa automaticamente. – Yossarian

+1

Eccellente, 'vc-rename-file' fa quello che voglio! – Yossarian

+0

Come faccio a forzare il 'git mv'? Ho ricevuto l'errore: "Per favore aggiorna i file prima di spostarli" – nnyby

7

Io uso diretto per questo. C-x d quando il file è aperto, quindi premere ! sul file per eseguire il comando git mv ? newpath con il file come argomento ?.

7

Per riferimento almeno nella versione corrente di Magit, è disponibile magit-file-rename che può essere richiamato da R.