Git Aggiungere interattivo


Esempio

git add -i (o --interactive ) ti darà un'interfaccia interattiva dove puoi modificare l'indice, per preparare ciò che vuoi avere nel prossimo commit. È possibile aggiungere e rimuovere le modifiche a interi file, aggiungere file non tracciati e rimuovere i file da tracciare, ma anche selezionare sottosezioni di modifiche da inserire nell'indice, selezionando blocchi di modifiche da aggiungere, suddividendo i blocchi o persino modificando il diff . Molti strumenti di commit grafici per Git (come ad esempio git gui ) includono tale funzionalità; questo potrebbe essere più facile da usare rispetto alla versione da riga di comando.

È molto utile (1) se hai impigliato i cambiamenti nella directory di lavoro che vuoi mettere in commit separati, e non tutti in un singolo commit (2) se sei nel mezzo di un rebase interattivo e vuoi dividerlo anche tu grande impegno.

$ git add -i
           staged     unstaged path
  1:    unchanged        +4/-4 index.js
  2:        +1/-0      nothing package.json

*** Commands ***
  1: status       2: update       3: revert       4: add untracked
  5: patch        6: diff         7: quit         8: help
What now>

La metà superiore di questo output mostra lo stato corrente dell'indice suddiviso in colonne staged e nonstaged:

  1. index.js ha aggiunto 4 righe e 4 righe rimosse. Al momento non è messo in scena, poiché lo stato corrente riporta "invariato". Quando questo file viene messo in scena, il +4/-4 bit verrà trasferito alla colonna di stage e la colonna non modificata leggerà "nothing".
  2. package.json ha avuto una riga aggiunta ed è stata messa in scena. Non ci sono ulteriori cambiamenti dal momento che è stato messo in scena come indicato dalla riga "niente" sotto la colonna non cancellata.

La metà inferiore mostra cosa puoi fare. Immettere un numero (1-8) o una lettera ( s , u , r , a , p , d , q , h ).

status mostra un'uscita identica alla parte superiore dell'output sopra.

update consente di apportare ulteriori modifiche ai commit staged con sintassi aggiuntiva.

revert ripristina le informazioni di commit staged su HEAD.

add untracked ti permette di aggiungere percorsi di file precedentemente non tracciati dal controllo di versione.

patch consente di selezionare un percorso da un'uscita simile allo status per ulteriori analisi.

diff mostra ciò che sarà impegnato.

quit esce dal comando.

help presenta ulteriore aiuto sull'utilizzo di questo comando.