Estoy teniendo algunos problemas para entender los conceptos básicos de git:/Git ignorar archivos siendo rastreado sin eliminarlos
estoy probando en mi máquina local de Windows antes de intentar algunas cosas en mi sitio git-controlado.
que tengo:
gittesting/repo1:
file.txt
ignoreme:
ignore.txt
y
gittesting/repo2
file.txt
ignoreme:
ignore.txt
repo2 es una copia de repo1 y ignoreme ya está siendo rastreado. El archivo ignore.txt cambia en repo2, pero quiero dejar de seguirlo y que git lo ignore por completo. El problema es que si creo un archivo .gitignore y agrego ignoreme, es demasiado tarde porque ya está siendo rastreado, así que tendría que hacer git rm --cached ignore, pero luego se marca como eliminado y si saqué el commit para repo1, el directorio sería eliminada en lugar de quedarse solo ..
Para resumir:
- el ignore.txt tienen un contenido diferente entre los dos repositorios.
- quiero el contenido ignore.txt permanezcan como están y ser completamente ignorado por git
He mirado en línea, pregunte en el IRC, y miré las preguntas muy relacionados, pero no puede encuentra una manera de hacer esto. Sé que el ejemplo parece trivial, pero es exactamente lo que tengo que hacer en mi sitio, donde el directorio es Foro/caché en su lugar.
edición:
Esto es un poco de un truco y yo preferiría una mejor respuesta, pero terminó haciendo:
cd repo2
echo "ignoreme" > .gitignore
echo "ignoreme/*" > .gitignore
git rm --cache -r ignoreme
git commit -m "Should ignore now"
cd ../repo1
mv ignoreme ignoreme2
git pull ../repo2
mv ignoreme2 ignoreme
Siempre prefiero poner '.gitignore' dentro del directorio para directorios" vacíos ". – meagar
El enfoque personalizado consiste en enviar un archivo '.gitkeep' vacío. El motivo es el prefijo breve e inequívoco: '. * # Ignore dotfiles''! .git * # pero no los que configuran el repositorio, es decir .gitignore, .gitkeep' –
'.keepme' es una expresión muy utilizada. Como es habitual con la expresión idiomática, puedes ir contra la corriente y hacerlo a tu manera, pero bajo tu propio riesgo. –