¿Cómo se agregan los archivos ejecutables de Linux a .gitignore sin darles una extensión explícita y sin colocarlos en un directorio específico// bin? La mayoría tienen el mismo nombre que el archivo C desde el que se compilaron sin la extensión ".c".Cómo agregar archivos ejecutables de Linux a .gitignore?
Respuesta
Me los pondría explícitamente en el proyecto .gitignore. No es elegante, pero imagino que su proyecto no tiene que muchos de ellos.
La razón por la que tropecé con esta pregunta es exactamente porque * tiene * muchos de ellos. –
Una forma de generar diferencias en contra de su .gitignore
de una sola vez de todos los archivos ejecutables de directorio actual:
find . -perm /111 -type f | sed 's#^./##' | sort | diff -u .gitignore -
esto genera un diff lo que significa que no se pierde ningún cambio manual en el archivo. Esto supone que su archivo .gitignore
ya está ordenado. La parte sed simplemente elimina el ./
que genera.
No hay forma automática de ignorar solo los archivos ejecutables, por lo que siempre tendrá que gestionar manualmente el archivo.
¿Puede ignorar todos, pero los archivos de código fuente?
Por ejemplo:
*
!*.c
!Makefile
Escribí un guión para añadir automáticamente ejecutables ELF a .gitignore
.
git-ignore-elf
:
#!/bin/sh
set -eu
cd "$(git rev-parse --show-toplevel)"
file=.gitignore
new=$file.new.$$
(
if [ -e "$file" ]; then
cat "$file"
fi
find . -name .git -prune -o -type f ! -name '*.o' ! -name '*.so' \
-print0 | xargs -0 file | grep ': *ELF ' | sed 's/:.*//' |
sed 's,^./,,'
) | perl -ne 'print if !$already{$_}++' >"$new"
mv "$new" "$file"
Características:
- empieza a buscar en la carpeta de nivel superior (que podría ser un misfeature!)
- ignora archivos ELF, excluyendo .o y archivos .so que se puede ignorar con una regla genérica
- conserva las entradas existentes en .gitignore sin duplicarlas
Esta versión de un solo guión está aquí: http://sam.nipl.net/b/git-ignore-elf-1
Aquí es una versión más modular, que depende de otros scripts (GIT-raíz, encontrar elfo, uniqo) del mismo lugar: http://sam.nipl.net/b/git-ignore-elf
hay una respuesta similar usando python y el archivo (1), aquí: http://stackoverflow.com/a/19749478/218294 –
La mayoría de los desarrolladores generalmente tienen un directorio build
en su proyecto donde se ejecuta el proceso de compilación real. Por lo tanto, todos los ejecutables, .o
, .so
, .a
, etc. están allí y este directorio de compilación se agrega al .gitignore
.
- 1. Creando archivos ejecutables en Linux
- 2. agregar # * # glob a .gitignore?
- 3. Añadir .gitignore a gitignore
- 4. Posibles implicaciones de agregar archivos * .sdf a .gitignore
- 5. git agregar todos excepto ignorar archivos en el archivo .gitignore
- 6. gitignore sin archivos binarios
- 7. empujando archivos .gitignore a determinada distancia
- 8. Hacer ejecutables todos los archivos PHP (recursivamente)
- 9. ¿Cómo presiono los archivos especificados en .gitignore?
- 10. Evitar exportar símbolos desde ejecutables en Linux
- 11. .gitignore no ignora los archivos
- 12. Ejecutables independientes con mono en Linux?
- 13. ¿Cómo se cruzan los archivos ejecutables ELF para Android?
- 14. CMakeLists.txt archivos para múltiples bibliotecas y ejecutables
- 15. Cómo agregar varios archivos jar en classpath en Linux
- 16. gitignore - fatal: no se han agregado archivos
- 17. ¿Cómo hacer que .gitignore ignore los archivos compilados sin extensión?
- 18. ¿Cómo aplicar gitignore luego?
- 19. python: ¿pueden los archivos zip ejecutables incluir archivos de datos?
- 20. Excepciones en .gitignore
- 21. Cómo puedo agregar un patrón que comience con hash a gitignore
- 22. Git: cómo ignorar los archivos ocultos/archivos de puntos/archivos con nombres de archivos vacíos a través de .gitignore?
- 23. ¿Hay alguna diferencia entre los archivos binarios ejecutables entre distribuciones?
- 24. Cómo configurar gitignore?
- 25. La mejor herramienta de Linux para desmontar ejecutables C++
- 26. gitignore - solo permite ciertas extensiones y archivos
- 27. ¿Cómo puedo detectar accesos a archivos en Linux?
- 28. Práctica recomendada para usar varios archivos .gitignore
- 29. Elegir entre varios ejecutables con el mismo nombre (linux)
- 30. ¿Cómo evitar que git haga archivos no ejecutables en cygwin?
Esto es más o menos un duplicado de http://stackoverflow.com/questions/5711120/gitignore-without-binary-files Podría fusionarlos. –
No, hay una diferencia entre los archivos ejecutables y los archivos binarios. Veo la necesidad de ignorar las secuencias de comandos ejecutables y los archivos binarios. No creo que esta pregunta sea un duplicado. – Alexander