cómo eliminar un file de github y dejar de ser rastreado?

Aunque había agregado mi database.yml en .gitignore, todavía se está agregando en github. Ahora

  1. ¿Cómo debería eliminarlo de github? (Vi esto Cómo eliminar files del repository GitHub?, ¿ Es esta la única forma de eliminar desde github?)
  2. Cómo detener que se agregue en github ya que contiene información confidencial

Gracias

Parece que estás preguntando cómo eliminar el file del historial existente en GitHub.

La ayuda de GitHub explica exactamente cómo hacer eso :

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch database.yml' --prune-empty --tag-name-filter cat -- --all 

Sí, esa es la forma de eliminar files de los repositorys de Git. Una vez que lo elimine y ya que agregó este file en su file .gitignore , no se rastreará nuevamente. Por lo tanto, si desea conservar este file localmente, conserve una copy en otro lugar y luego use la git rm path/database.yaml y luego vuelva a colocarla.

Tenga en count que agregar más reglas en el file .gitignore no afectará en modo alguno los files que ya están siendo rastreados por git y solo afectará a los files sin seguimiento.

Tenga en count que:

  • Encontrará muchos ejemplos de files .gitignore en el proyecto GitHub gitignore .
  • yml files yml no se ignoran lo suficiente (solo Rails.ignore tiene un *.yml incluido )
  • si no tiene cuidado, puede habilitar a cualquiera para hacer un grep rápido para files confidenciales, con el proyecto ghrabber , en su repository de GitHub o en cualquier repository de GitHub:

Eso significa que un command simple es suficiente para get todos los files confidenciales para todos los repos:

 ./ghrabber.py "path:.bash_history" 

Obtienes todo el historial de línea de command bash incluido por error en el repository git

 ./ghrabber.py "path:.htpasswd" 

htpasswd todos los files htpasswd

 ./ghrabber.py "ext:mbox" 

Recibes buzones …

 ./ghrabber.py "path:databases.yml" 

obtienes conexiones / passwords de conexiones a la database …

(de Korben.info – francés )