Come posso ottenere git per clonare i file non tracciati

3

Sono nuovo di git.

Sto usando una piattaforma di sviluppo chiamata automation studio. Questo strumento di sviluppo crea tutti i tipi di file e directory necessari per mantenere le informazioni di runtime e I / O per il processore di destinazione. Queste informazioni sono specifiche per ogni progetto. Pertanto questi file non dovrebbero essere sotto controllo di versione perché sono forniti e gestiti dalla piattaforma. Altrimenti non è possibile eseguire lo studio di automazione senza questi file.

Ho inserito i nomi di questi file e directory in un file .gitignore. Quindi ho clonato myrepository in un repository nudo su un server. Poi ho clonato di nuovo a mynewrepository sul mio computer locale. Sfortunatamente in mynewrepository mancavano tutti i file e le directory elencati in .gitignore. Pertanto la piattaforma di automazione studio non ha funzionato.

Come posso escludere questi file e il contenuto di queste directory dalla versione ma conservarle tutte nel repository al fine di clonare un progetto pienamente funzionante per lo studio di automazione?

    
posta Jurg Zbinden 09.03.2013 - 09:46
fonte

2 risposte

5

A volte ci sono situazioni in cui si desidera aggiungere la configurazione al controllo della versione, ma cambiano a seconda di dove è stato clonato il progetto. Come "semi-ignorare" questi file dipende totalmente da come si desidera che funzioni. Quindi ecco alcune strategie per questo:

Strategia n. 1: Impegna TUTTE LE COSE

Dovrestiprovareaimpegnaretuttoevedereinseguitociòdicuinonhaibisogno.Avoltequestaèlasoluzionemigliore.Èpiùcomunepernoiassumerechenonneabbiamobisognonelcontrollodellaversionefinoaquandononcirendiamocontochelofacciamo.

Puoiancheseguirlocon assumendo temporaneamente i file come immutati in idiota. Il comando che puoi utilizzare per farlo è git update-index :

git update-index --assume-unchanged [file ...]

Se hai problemi a fare ciò con le directory, leggi questa domanda SO su come assumere directory con file non tracciati .

Strategia n. 2: se uno strumento imposta il progetto, usalo per generare la configurazione e poi clonare sopra quella

Puoi fare ciò che hai fatto ora, ignorare la configurazione in git e quando vuoi clonare il progetto lo fai sopra un nuovo progetto che viene creato dallo strumento. Oppure scrivi il tuo strumento (uno script batch) per configurare il progetto per te.

Strategia n. 3: verifica la configurazione "predefinita" condivisa tra i progetti

Potresti cercare di capire quale configurazione è il minimo indispensabile di cui hai bisogno e devi impegnarti nel repository.

Se si desidera configurare i valori predefiniti di configurazione, è possibile copiare (o comprimere) tutti i file di configurazione in una directory separata e quindi eseguire tale commit. Quando cloni, puoi decomprimere tutti quei file nel punto corretto per far funzionare le cose.

È possibile eseguire il batch di questa procedura di installazione per facilitare l'avvio. In modo che devi solo eseguirlo una volta quando cloni il progetto.

Strategia bonus: controlla in un file di testo "readme" che descrive in dettaglio come iniziare

Il controllo di un file di testo che spiega come impostare il progetto è una cosa utile da fare. Potresti aver bisogno di questo in seguito per ricordare a te stesso come hai impostato il progetto.

    
risposta data 09.03.2013 - 10:20
fonte
0

Questo non può funzionare. Git non può clonare alcun file che nemmeno conosce. Questo non ha nemmeno niente a che fare con Git, è solo un semplice buon senso.

    
risposta data 09.03.2013 - 13:25
fonte

Leggi altre domande sui tag