Git Repo restringe el nombre de file de ser enviado a GitHub

Me preguntaba si hay alguna forma de restringir el envío de algunos files a un git repo.

Tengo un file con información de nombre de usuario y contraseña que quiero asegurar que nunca se envíe a mi repository por razones obvias.

Estoy usando git para mi control de versiones. Me preguntaba si es posible que git no permita que mi file "passwords.txt" se cargue en mi repository. Por lo tanto, si añadiera accidentalmente, confirmara e inserta el file, arrojaría un error que dijera algo así como "No puedo enviar passwords.txt al repository".

¿Es esto posible, o solo necesito ser muy cuidadoso al agregar y enviar mis files?

Simplemente es demasiado arriesgado intentarlo y nunca empujar el file.

Asegúrate de que tu password.txt no esté versionada ( git rm --cached , y agregada a .gitignore )

Luego puede registrar un script de smudge , que generará el file con información confidencial en el process de git checkout .

Eso es parte de un controller de filter de contenido , utilizando la statement .gitattributes .

enter image description here (image de " Personalizar Git – Atributos de Git ", del " Libro de Pro Git ")

Esa secuencia de commands ' smudge ' (que debe escribir) necesitaría:

  • get los valores correctos (de una fuente externa al repository, de esa manera no hay riesgo de agregar y enviar por error)
  • generar la password.txt , utilizando una plantilla de manifiesto rastreado password.txt.tpl con un valor de marcador de position para replace.

Eso significa:

  • la plantilla password.txt.tpl se agrega al repository de git
  • el file de generación password.txt se declara en el file .gitignore y nunca se versiona (y nunca se presiona).

En la carpeta del proyecto, crea un file .gitignore .

Luego, en el file, inserte esta línea:

 passwords.txt 

El file .gitignore le dirá a Git qué ignorar.

Puede ignorar files y carpetas.

Si accidentalmente has cometido las passwords.txt antes, dile a Git que lo excluya a partir de ahora con este command:

 git rm --cached passwords.txt 

La ejecución git status mostrará passwords.txt como un file sin seguimiento, por lo que no se includeá en futuras confirmaciones, por lo tanto, mantenga el file .gitignore actualizado.

Para ver los patrones de uso, querrá hacer reference al manual de gitignore.

Ver más casos de uso en github octocat y gitignore.io