Sembra che tu stia cercando di tracciare un file (ad esempio index.php
), aggiungerlo a un repository remoto, quindi smettere di guardarlo tracciarlo, mantenendo il file nel remoto (cioè mantieni index.php
invariato nel repository remoto mentre lo cambi localmente).
Da quello che ho capito, git non può farlo. Puoi tenere traccia di un file oppure no. Se si tiene traccia di un file, esso esiste nel repository remoto e cambia quando si esegue il commit delle modifiche. Se non si tiene traccia di un file, non esiste nel repository remoto.
Poiché non è possibile fare esattamente quello che vuoi con git, ci sono potenzialmente altre soluzioni, a seconda della tua esatta situazione. Ad esempio, perché non vuoi index.php
cambiare da remoto quando lo modifichi localmente? Sono presenti impostazioni specifiche dell'utente nel file? Se questo è il caso, puoi fare:
cp index.php index_template.php
git rm --cached index.php
Ora modifica index_template.php in modo che sia come vuoi che appaia nel repository remoto. Aggiungi qualcosa al tuo README per dire alle persone che usano il tuo repository che una volta clonato, devono copiare index_template.php in index.php e modificarlo per soddisfare le loro esigenze.
git add index_template.php
git add README
git commit -m 'added template index.php file'
git push
Quando qualcuno clona il tuo repository, deve crearne uno proprio index.php
. Hai fatto più facile per loro: è sufficiente copiare index_template.php
per index.php
e rivedere con le impostazioni del computer-specifici.