2013-03-31 12 views
7

Per esempio, questo è lo stato di una filiale nel mio repository locale:Come aggiungere file da impegnare in modo più veloce?

14:56:15 /srv/www/gamersmafia/current[max-decisiones]$ git status 
# On branch max-decisiones 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#  modified: app/controllers/respuestas_controller.rb 
#  modified: app/helpers/application_helper.rb 
#  modified: app/models/decision.rb 
#  modified: app/models/gm_portal.rb 
#  modified: app/models/term.rb 
#  modified: app/views/respuestas/index.html.erb 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  app/assets/stylesheets/old/sprites/games_sprites.css 
# 

Se voglio aggiungere file a commetterli, devo scrivere il percorso del file, oppure selezionare e incollarlo dopo aver scritto git add.

C'è un modo più veloce per lavorare con git selezionando i file da aggiungere, checkout, ecc.? Ad esempio, se voglio solo aggiungere 2 file per il commit?

+2

'git add' è ricorsivo ..! – cmc

risposta

9

Si può solo aggiungere loro (anche i file appena creati) con:

git add -A . 

E poi commettere. Se si desidera aggiungere solo alcuni di essi è possibile utilizzare aggiungere in modo interattivo:

git add -i 

git chiederà quali file che si desidera aggiungere. Se stai usando linux o un mac puoi creare un alias nella tua shell per rendere il comando più breve e così ancora più veloce.

Un'altra soluzione è utilizzare un wrapper per il tuo editor/IDE. Puoi trovare un wrapper per quasi tutti gli strumenti di sviluppo (da eclipse a VIM). Questi wrapper di solito ti consentono di eseguire alcune azioni rapidamente, proprio come add o commit il tuo file di modifica. È possibile presentare un elenco completo nello git wiki.

+0

Wow, 'git add -i' è molto impressionante! Aspetterò un po 'prima di selezionare una risposta, ma non riesco a immaginare qualcosa di meglio :) – Draco

+0

Posso :) I wrapper Git sono meglio imho. Puoi aggiungere/rimuovere un file, aprirli rapidamente per controllare le linee aggiunte, oltre a dozzine di altre funzioni che di solito vuoi fare con 'git status'. E quando usi Vim, senti di non aver mai lasciato la tua console! – TKrugg

2

Per aggiungere tutto, sia file tracciati che non tracciati. Aggiungi un punto dopo l'aggiunta. Per esempio:

git add . 

Se si voleva solo a commettere i file che sono già tracciate senza l'aggiunta di nuovi, è possibile utilizzare la "-a" bandiera per git commit. Come:

git commit -a 
+0

Scusa, ho dimenticato la cosa più importante. Volevo anche chiedere, come potrebbe farlo rapidamente se voglio solo aggiungere 2 file (ad esempio) per il commit, e ho 9 non in scena per il commit. Ho modificato la domanda:/ – Draco

+0

Per l'aggiunta selettiva, puoi utilizzare [completamento della scheda della riga di comando] (http://en.wikipedia.org/wiki/Command-line_completion) o la modalità interattiva "-i" che @Atropo sottolineato. (Uso tab completamento personalmente.) –

Problemi correlati