¿Hay un comando de ignorar para git como hay para svn?
125
Soy un nuevo usuario gity estoy comenzando un nuevo proyecto. Tengo un montón de archivos de puntos que me gustaría ignorar. ¿Hay un comando ignorar para gitcomo hay para svn?
Edite un .gitignorearchivo ubicado en el lugar apropiado dentro de la copia de trabajo. Luego debe agregar esto .gitignorey confirmarlo. Todos los que clonen ese repositorio tendrán que ignorar esos archivos.
Tenga en cuenta que solo los nombres de archivo que comiencen /serán relativos al directorio .gitignoreen el que reside. Todo lo demás coincidirá con los archivos en cualquier subdirectorio.
También puede editar .git/info/excludepara ignorar archivos específicos solo en esa copia de trabajo. El .git/info/excludearchivo no se confirmará y, por lo tanto, solo se aplicará localmente en esta copia de trabajo.
También puede configurar un archivo global con patrones para ignorar git config --global core.excludesfile. Esto se aplicará localmente a todas las copias de trabajo de git en la misma cuenta de usuario.
Ejecute git help gitignorey lea el texto para los detalles.
No tener un simple comando de ignorar parece un descuido por parte del equipo de git.
jcollum
44
@jcollum A primera vista lo hace, pero la simplicidad de alias de un comando para agregar nuevos Y la complejidad de crear uno y trabajar a través de todos los casos límite / problemas / problemas potenciales de editar un archivo de texto también tiene sentido dejarlo en manos del usuario. Me siento en conflicto porque estoy de acuerdo y en desacuerdo contigo.
Entonces, si uso git ignore "index.html", ¿ignorará este archivo?
JohnAndrews
¿Sigue siendo aplicable el comando -t? Cuando lo ejecuto, solo agrega -t y cualquier plantilla que intente agregar al archivo git ignore
Bynho
50
En Linux / Unix, puede agregar archivos al archivo .gitignore con el echocomando. Por ejemplo, si desea ignorar todas las .svncarpetas, ejecute esto desde la raíz del proyecto:
En Git Bash en Windows, necesitaba agregar un /'\' anterior y posterior (para crear una nueva línea), como echo /nbproject/project.properties\ >> .gitignorey echo /nbproject/project.xml\ >> .gitignore.
Ryan
15
Tiene dos formas de ignorar los archivos:
.gitignoreen cualquier carpeta ignorará los archivos como se especifica en el archivo para esa carpeta. El uso de comodines es posible.
.git/info/excludecontiene el patrón de ignorar global, similar al global-ignoresarchivo de configuración en subversiones.
Tenga en cuenta que los patrones en el .gitignorearchivo que no contienen '/' coinciden de forma recursiva (es decir, también en todos los subdirectorios del directorio en el .gitignoreque se encuentra el archivo), al contrario del caso de las svn:ignorepropiedades de directorio en Subversion.
Jakub Narębski el
6
Espero que no sea demasiado tarde.
Si está en Windows, puede hacer lo siguiente para crear un archivo .gitignore
¡No lo use si ya tiene un archivo .gitignore, lo sobrescribirá! Para agregar el archivo a ignorar, use esto: echo ignore.ext >> .gitignore
TomEberhard
Tienes razón, es recomendable usarlo solo si el archivo .gitignore no existe. Es mejor usar "notepad .gitignore", si tiene un archivo .gitignore lo abrirá, y si no lo hace, creará uno, y luego podrá agregar todos los archivos desde el bloc de notas. 1 archivo / carpeta por línea
Nesar
3
Cree un archivo llamado .gitignore en la raíz de su repositorio. En este archivo pones la ruta relativa a cada archivo que deseas ignorar en una sola línea. Puedes usar el *comodín.
para nombres no presentes en la copia de trabajo o repositorio:
echo /globpattern >> .gitignore
o para un archivo existente (línea de comando de tipo sh):
echo /$(ls -1 file) >> .gitignore # I use tab completion to select the file to be ignored
git rm -r --cached file # if already checked in, deletes it on next commit
Es útil definir un archivo .gitignore completo para su proyecto. La recompensa es el uso seguro del conveniente --allo -aindicador de comandos como addy commit.
Además, considere definir un archivo global ~ / .gitignore para patrones comúnmente ignorados tales como *~
, que cubre archivos temporales creados por Emacs.
Y luego puede escribir giseguido de todos los elementos de plataforma / entorno para los que necesita criterios de gitignore.
¡Ejemplo!
Digamos que está trabajando en un proyecto de nodo que incluye gruñido y está utilizando webstorm en Linux, entonces puede escribir: gi linux,webstorm,node,grunt > .gitignore(para crear un archivo nuevo)
o gi linux,webstorm,node,grunt >> .gitignore(para agregar / agregar las nuevas reglas a un archivo existente )
Respuestas:
No hay un
git ignore
comando especial .Edite un
.gitignore
archivo ubicado en el lugar apropiado dentro de la copia de trabajo. Luego debe agregar esto.gitignore
y confirmarlo. Todos los que clonen ese repositorio tendrán que ignorar esos archivos.Tenga en cuenta que solo los nombres de archivo que comiencen
/
serán relativos al directorio.gitignore
en el que reside. Todo lo demás coincidirá con los archivos en cualquier subdirectorio.También puede editar
.git/info/exclude
para ignorar archivos específicos solo en esa copia de trabajo. El.git/info/exclude
archivo no se confirmará y, por lo tanto, solo se aplicará localmente en esta copia de trabajo.También puede configurar un archivo global con patrones para ignorar
git config --global core.excludesfile
. Esto se aplicará localmente a todas las copias de trabajo de git en la misma cuenta de usuario.Ejecute
git help gitignore
y lea el texto para los detalles.fuente
Un comando git ignore muy útil viene con el increíble tj / git-extras .
Aquí hay algunos ejemplos de uso:
Lista todos los patrones ignorados actualmente
Agregar un patrón
Agregue una de las plantillas de gitignore.io
git-extras proporciona muchos más comandos útiles. Definitivamente vale la pena probarlo.
fuente
En Linux / Unix, puede agregar archivos al archivo .gitignore con el
echo
comando. Por ejemplo, si desea ignorar todas las.svn
carpetas, ejecute esto desde la raíz del proyecto:fuente
/
'\' anterior y posterior (para crear una nueva línea), comoecho /nbproject/project.properties\ >> .gitignore
yecho /nbproject/project.xml\ >> .gitignore
.Tiene dos formas de ignorar los archivos:
.gitignore
en cualquier carpeta ignorará los archivos como se especifica en el archivo para esa carpeta. El uso de comodines es posible..git/info/exclude
contiene el patrón de ignorar global, similar alglobal-ignores
archivo de configuración en subversiones.fuente
.gitignore
archivo que no contienen '/' coinciden de forma recursiva (es decir, también en todos los subdirectorios del directorio en el.gitignore
que se encuentra el archivo), al contrario del caso de lassvn:ignore
propiedades de directorio en Subversion.Espero que no sea demasiado tarde.
Si está en Windows, puede hacer lo siguiente para crear un archivo .gitignore
Para editar .gitignore puedes ejecutar
fuente
Cree un archivo llamado .gitignore en la raíz de su repositorio. En este archivo pones la ruta relativa a cada archivo que deseas ignorar en una sola línea. Puedes usar el
*
comodín.fuente
Usando las respuestas ya proporcionadas, puede rodar su propio
git ignore
comando usando un alias . Agregue esto a su archivo ~ / .gitconfig:O ejecute este comando desde el shell (* nix) de su elección:
También puede crear un
git exclude
comando reemplazandoignore
conexclude
y.gitignore
con.git/info/exclude
en lo anterior.(Si aún no comprende la diferencia entre estos dos archivos después de haber leído las respuestas aquí, consulte esta pregunta ).
fuente
para nombres no presentes en la copia de trabajo o repositorio:
o para un archivo existente (línea de comando de tipo sh):
fuente
Es útil definir un archivo .gitignore completo para su proyecto. La recompensa es el uso seguro del conveniente
--all
o-a
indicador de comandos comoadd
ycommit
.Además, considere definir un archivo global ~ / .gitignore para patrones comúnmente ignorados tales como
*~
, que cubre archivos temporales creados por Emacs.fuente
Tienes que instalar git-extras para esto. Puedes instalarlo en Ubuntu usando apt-get,
Entonces puedes usar el comando git ignore.
fuente
brew install git-extras
.También puedes usar gitignore.io de Joe Blau
Ya sea a través de la interfase web https://www.gitignore.io/
O instalando la herramienta CLI, es muy fácil y rápido, simplemente escriba lo siguiente en su terminal:
Linux:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc
OSX:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile
Y luego puede escribir
gi
seguido de todos los elementos de plataforma / entorno para los que necesita criterios de gitignore.¡Ejemplo!
Digamos que está trabajando en un proyecto de nodo que incluye gruñido y está utilizando webstorm en Linux, entonces puede escribir:
gi linux,webstorm,node,grunt > .gitignore
(para crear un archivo nuevo)o
gi linux,webstorm,node,grunt >> .gitignore
(para agregar / agregar las nuevas reglas a un archivo existente )bam, eres bueno para ir
fuente