Domanda

Sto usando git su un progetto, che genera molti file di dati (risultati della simulazione).Sono "costretto" a versionizzare e tenere traccia di tutti questi risultati nello stesso repository.(Questo è un requisito difficile e non può essere modificato)

Comunque non mi servono.Abbiamo circa 50 MB per il progetto e 5 GB di risultati nel repository.

È possibile creare un ramo, eliminare tutti i risultati, controllare questo ramo e lavorare solo su quel ramo?

Quanto sarebbe difficile (cosa dovrei fare) riportare i miei cambiamenti locali nel ramo grasso?

Esiste una soluzione migliore per liberarmi di quei 5 GB per il mio lavoro?

È stato utile?

Soluzione

Se dovessi creare un ramo ed eliminare i file dei risultati dal ramo, unire nuovamente il ramo in master proverebbe anche a eliminare i risultati da master.L'eliminazione di un file è una modifica come qualsiasi altra.

Forse potresti utilizzare il supporto del sottomodulo git per gestire le modifiche al codice come sottomodulo del repository fat.In questo modo, il fat repository sembrerebbe contenere tutto, ma potresti lavorare indipendentemente solo sui piccoli bit di codice.Potrebbe essere necessario un po' di tempo per lavorare senza intoppi.

Altri suggerimenti

Se crei un ramo ed elimini i file indesiderati in un commit, dovresti essere in grado di selezionare eventuali commit successivi nel ramo principale senza unire il commit che elimina i file di dati.

Vedi il manuale per git cherry-pick.

Oltre a git cherry-pick, un'altra alternativa è eseguire git-revert sul file delete change appena prima della fusione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top