Domanda

Il mio .gitignore file viene ignorato ei file che dovrebbero essere ignorati sono ancora visibili.

user@host ~/workdir % git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   .htaccess
#       modified:   application/controllers/statistics.php
#
no changes added to commit (use "git add" and/or "git commit -a")
user@host ~/workdir % cat .gitignore
.htaccess
application/config/config.php
application/config/database.php
user@host ~/workdir %

I file sono in controllo di versione, ma con i cambiamenti sensibili non voglio spingere. git rm ... non è un'opzione perché i file devono essere in versione controll (con le altre impostazioni del file). Voglio solo Dont di spingere le mie modifiche su questo file.

È stato utile?

Soluzione

Ignorando i file in git non vuol dire che non lo farai Push di loro. Significa che non sarà il controllo di versione di loro. Se non si vuole spingere poi, io suggerisco di creare una filiale locale che conterrà roba per la macchina locale e quindi unire le modifiche necessarie ad un ramo che si spinge a distanza.

Credo che tu abbia già added file e stanno ora cercando di ignorarli.

Altri suggerimenti

ho avuto lo stesso problema: volevo file .htaccess diverso per ogni repository quindi ho potuto non perché file .htaccess era già stato aggiunto alla repository. E 'ora di lavoro, posso modificare qualsiasi file .htaccess da qualsiasi versione senza ottenere git spingendoli. Marc ha ragione quando dice: "E 'necessario rimuoverlo prima, prima che possa essere ignorato. Questo può essere fatto utilizzando rm git".

ho proceduto in questo ordine:

  • il backup dei file da qualche parte .htaccess
  • rimuovere file .htaccess utilizzando git rm .htaccess
  • la modifica disponibile (soppressione .htaccess)
  • spingerlo (git push)

questo, ovviamente, rimuovere il file .htaccess

  • quindi modificare e aggiungere .gitignore /.htaccess
  • commettere quindi spingerla
  • ricreare il file .htaccess ripristinando il backup precedente

, allora il gioco è fatto: tutte le modifiche si fanno in .htaccess non sarà spinto più. La parte difficile è seguente ordine passi ...

speriamo che questo è chiaro

anybug notato qui mio git conserva ancora traccia di .htaccess e questo ha aiutato:

git update-index --assume-unchanged .htaccess

Per tornare:

git update-index --no-assume-unchanged .htaccess

Dal momento che si desidera:

  • mastio .htaccess nel repository Git (senza git rm)
  • sono locale i dati sensibili in esso

filtro conducente che sarà:

  • durante la fase di checkout, completano la .htaccess con i dati privati ??
  • durante il commit fase di pulire il .htaccess da tutti i dati sensibili

driver di filtro dei contenuti

è possibile poi la versione di un file crittografato che lo script sarà sbavature:

  • essere l'unico per decifrare
  • uso al fine di completare il classico (e spinto tirato /) file .htaccess.

È possibile versione che i dati sensibili crittografati in un ramo speciale che non spingere.
Anche se avete fatto spinta che il file in qualche modo, il danno sarebbe limitato, dal momento che solo la stazione di lavoro ha la chiave privata necessaria per decifrare detto file.

Supponiamo che il basso è il contenuto del file di .gitignore. Qui, .htaccess è nella directory principale del progetto.

/.htaccess
application/config/config.php
application/config/database.php

corriamo il sotto comando di ignorare i file .htaccess, config.php e database.php.

badelal143@gmail.com:work-dir$ git update-index --assume-unchanged .htaccess
badelal143@gmail.com:work-dir$ git update-index --assume-unchanged application/config/config.php
badelal143@gmail.com:work-dir$ git update-index --assume-unchanged application/config/database.php

Se si desidera avviare il monitoraggio di nuovo:

badelal143@gmail.com:work-dir$ git update-index --no-assume-unchanged path/to/file

per es.

badelal143@gmail.com:work-dir$ git update-index --no-assume-unchanged .htaccess

Sembra che il file .htaccess è già stato aggiunto al controllo di versione. È necessario rimuovere in primo luogo, prima che possa essere ignorato. Questo può essere fatto utilizzando git rm

Lo faccio tutto il tempo. Comincio con i file di configurazione nel mio repo allora decido che io non li voglio là dentro.

È possibile rimuovere qualcosa dal vostro repo utilizzando

git rm --cached <<filename>>

Questo mi infastidiva per giorni. Il file .htaccess è già sotto controllo di versione ed è stato modificato.

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