git: file privati ​​in archivi pubblici


0

Sto usando git come controllo di versione per molti dei miei progetti che oltre al codice sorgente hanno un numero di report e documenti sensibili.

Tutti i miei repository sono al momento privati, ma desidero renderli pubblici. Come accennato in precedenza, desidero nascondere alcuni file (o potrebbero essere directory) dal pubblico. È possibile? In caso contrario, c'è un modo migliore per farlo?


Git memorizza lo stato del repository come singola unità (il commit). Non è possibile nascondere una parte di un commit.
grawity

Risposte:


1

Nascondere informazioni specifiche in un repository git non è una delle cose per cui è stato progettato. AFAIK non è nemmeno possibile. Un approccio che potrebbe funzionare, sebbene non l'abbia mai provato, è di avere un repository pubblico e privato, e il repository privato è un sottomodulo git per quello pubblico. Questo potrebbe essere più problematico, ma vale la pena, e potrebbe essere fonte di confusione nei punti che ti portano a mettere i dati privati ​​nel repository pubblico. Quindi forse dovresti semplicemente ricorrere a repository completamente separati.


Ok bello. Se non è possibile; allora bene non è possibile. Grazie.
p0lAris

Ok. Quindi avrò dei repository privati ​​- ma dico ad esempio che cambio alcuni file in privato che fanno anche parte del pubblico - come potrei trasferire le modifiche sia ai repository pubblici che ai privati?
p0lAris

Sarebbe strano avere dipendenze che vanno dal repo pubblico al repository privato. Se le persone non possono usare certe parti di quelle pubbliche senza avere accesso a quello privato, non ha molto senso che queste siano pubbliche no? Cercherei di mantenere tutte le dipendenze nella direzione opposta. Almeno questa è la mia reazione come sviluppatore di software, sebbene sospetto che ciò si applichi altrettanto bene ai documenti in generale.
Jeroen De Dauw

@ flippex17: non puoi farlo. Se ci pensi, cosa potrebbe fare con il messaggio di commit?
David Schwartz

@Jeron - quello che intendevo era. Considera che ho alcuni file di intestazione e implementazione uguali in entrambi i repository pubblici e privati. Ma aggiungo un metodo a uno dei file di intestazione e implementazione nel repository privato - come potrei duplicare tali cambiamenti in quello pubblico. Scusa se suono confuso.
p0lAris
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.