2013-06-12 22 views
9

Sono nuovo di git avendo precedentemente utilizzato Perforce, SVN, source safe e molti altri strumenti di controllo del codice sorgente.git commit comment per file

Sto cercando la funzionalità che ho usato in Perforce, dove ho potuto creare una lista di modifiche; Sono stato in grado di aggiungere file all'elenco delle modifiche e fornire un commento specifico per ciascun file.

git dispone di un'area di gestione in cui vengono aggiunti i file modificati, esiste un modo per fornire un commento per file quando si aggiunge un file all'area di gestione temporanea?

O forse nella fase di commento posso aggiungere un commento per file; Ho avuto una buona occhiata e non sono stato in grado di allenarmi se uno o l'altro come eseguire entrambi - in realtà da quello che posso vedere né è possibile.

Qualcuno ha qualche idea su come potrei fare questo?

+0

Hai usato SVN, che non può farlo neanche. – xiaobai

risposta

9

Git non fornisce questa funzionalità. La filosofia di Git è tracciare "contenuto", non "file". L'aggiunta di file all'area di gestione temporanea consente di preparare con precisione il commit. Se diversi file vengono aggiunti all'area di gestione temporanea, è perché sono collegati alla stessa funzione. Ecco perché il messaggio di commit rappresenta l'intero cambiamento.

Se è necessario un messaggio per file, è possibile prendere in considerazione la creazione di più commit su un ramo di funzionalità, con un solo file per commit.

Spero che questo aiuti.

+0

+1 per i file che sono collegati alla stessa funzione – gzm0

+0

Grazie per averlo sottolineato - Ho bisogno di cambiare il modo in cui ho pensato e di conseguenza utilizzando git. Aiuta molto – user2196409

+0

Con questa logica in ogni commit ci dovrebbe essere solo "una" modifica localizzata in un singolo file che accade molto raramente e di solito per aggiustamenti molto minori. Altrimenti il ​​messaggio di commit non può _properly_ rappresentare l'intero cambiamento, poiché le modifiche sono distribuite "in tutto il luogo", ma il tuo messaggio di commit non lo è. Quindi questa logica è imperfetta dal momento che, sì, git 'pensa' nel contenuto, ma tu pensi ancora nei file quando organizzi quel contenuto. –

2

In questi giorni è possibile aggiungere messaggi di commit a singoli file. Ho appena fatto questo per esempio:

git commit -m 'reference containers in app' src/App.js 

Contesto: più file aggiunti a git attraverso $git add . ALLORA: messaggio di commit su questo file individuali (src/App.js).

[distacco risposta dal momento che questo viene ancora in Google]

0

Si può solo andare nella cartella dopo qualche cambiamento lo fanno:

git add . 
git commit -m 'mssg' 

e tornare indietro e spingerlo:

git push origin master 
+0

Sarebbe possibile modificare la risposta per marcare le linee 'git ...' come codice? (basta indentare ogni riga di codice di 4 spazi o utilizzare il pulsante nell'interfaccia). Non posso inviare una modifica perché non raggiungo abbastanza caratteri aggiunti affinché la modifica possa essere inoltrata. – GPhilo