2015-06-16 9 views
21

Volevo sapere qual è la differenza tra l'eliminazione di un file e l'interruzione del rilevamento di un file in git utilizzando l'albero dei sorgenti. Se ho cancellato un file nel mio codice aggiornato e desidero che il file sia eliminato anche nel repository, lo contrassegno come stop tracking o devo scartarlo durante il processo di commitQual è la differenza tra Stop Tracking e Discard File in git SourceTree

risposta

21

In SourceTree, selezionando "scarta" su un file solo getta via le tue modifiche locali; interrompe il tracciamento rimuoverlo dal repository. Tuttavia, finché hai eliminato il file sull'unità locale, e puoi vedere quella cancellazione nella sezione "Staged Files" di SourceTree, verrà eliminato anche nel repository quando esegui il commit.

+0

Come si esegue l'equivalente dal prompt cmd? SourceTree ha fatto il lavoro mentre Visual Studio e git status si comportavano entrambi come il file .sln è stato modificato e in effetti non lo era, quindi questo "Scarto" sembra essere stato il trucco. –

+0

Nella versione più recente di Sourcetree ** l'opzione Scarta ** è stata rinominata in ** Reimposta ** – Legonaftik

33

L'unico dettaglio non coperto dalla prima risposta è che Stop Tracking non elimina il file locale. Rimuove solo dal controllo del codice sorgente.

  1. Se si desidera mantenere il file localmente (forse è un file .suo memorizzazione impostazioni di Visual Studio che si decide, non avrebbe dovuto essere in origine di controllo), ma rimuoverlo dal repository, è necessario utilizzare Stop Tracking. Dopo questo, se vedi il file elencato in file Unstaged, puoi usare tasto destro del mouse> Ignora ... in SourceTree per aggiornare il tuo file .gitignore in modo da ignorare il file in futuro.
  2. Se si desidera eliminare il file sia localmente che nel repository, è necessario utilizzare Rimuovere. (per utilizzare il termine SourceTree)
  3. Infine, se si desidera annullare le modifiche locali senza
    cambiando il repository, utilizzare Discard.
+1

Nella versione più recente di Sourcetree ** L'opzione Scarta ** è stata rinominata in ** Reimposta ** – Legonaftik

Problemi correlati