xcschememanagement template hub for xcode git gitignore

template - .gitignore, ¿dónde debería ponerlo en mi proyecto xcode?



template git ignore (6)

¿Dónde debería poner el archivo .gitignore ?, ¿está dentro de la carpeta .git?

No hay .gitignore dentro de una carpeta .git .
Sin embargo, es un archivo .git/info/exclude , que le permite excluir un archivo localmente, generalmente cuando quiere excluir un archivo solo para este repositorio específico (con un alias como este ):

git config alias.exclude "!sh -c ''echo /"$1/" >> .git/info/exclude'' -" git exclude UserInterfaceState.xcuserstate

Si necesita excluir este archivo para todos los proyectos similares, como mencionó Elnur Abdurrakhimov en su respuesta , excluyéndolo globalmente.

echo UserInterfaceState.xcuserstate >> ~/.gitignore

Pero, como se menciona en " ¿Necesitamos registrar * .xcuserstate? ", Si se trata de un tipo de archivo que cualquier usuario de ese repositorio debería ignorar, realmente versionaría un .gitignore en la parte superior del repositorio, con un contenido similar a:

*.xcuserstate

De esta forma, cualquier usuario de ese repositorio ni siquiera se dará cuenta de que este archivo existe y se genera (cualquiera que sea su nombre): no se mostrará en git status alguna vez.

O puede ignorar xcuserdata/ enteramente (ya sea en un .gitignore global, o en uno versionado, como el archivo genérico GitHub Objective-C.gitignore .

Quiero que git ignore mi archivo UserInterfaceState.xcuserstate en mi proyecto XCode4, pero ¿dónde debería colocar el archivo .gitignore ?, ¿está dentro de la carpeta .git ? o fuera? .git está en la misma carpeta con el archivo ProjectName.xcodeproj


Debería colocar el archivo .gitignore en el directorio raíz del proyecto.


Hay enfoques para ignorar archivos en git:

  1. Global git ignora: - En este enfoque, tus reglas personalizadas se aplicarán a cada directorio de git en tu máquina. Por lo general, este archivo puede crearse bajo ~/.gitignore_global path. Este enfoque es bueno si quiere excluir algunos archivos de tipo generados por el sistema operativo o cualquier otra herramienta de registro, cobro y otras herramientas.
  2. Por-repositorio git ignorar: - En este enfoque sus reglas personalizadas se aplicarán al directorio git específico en su máquina. Las reglas locales por repositorio pueden agregarse al archivo .git/info/exclude en su repositorio. Las reglas especificadas en este archivo no se comprometerán, lo que significa que no se compartirán con otros. En general, este enfoque es útil para evitar la asignación de archivos generados localmente. Por ejemplo, para archivos creados por su editor.
  3. Por Path Git, ignore: - En este caso, sus reglas personalizadas se aplicarán a la subruta de repositorios git específicos. Puede crear .gitignore en cualquier ruta secundaria de su repositorio específico. Este enfoque generalmente se utiliza para ignorar algunos tipos de archivos solo en una carpeta específica de un repositorio específico. Mientras que estos archivos se pueden agregar a la versión que controla otras rutas y otros repositorios.

Por lo tanto, mi sugerencia es que, si desea ignorar su archivo específico ( UserInterfaceState.xcuserstate ) en todos sus repositorios, el mejor enfoque es utilizar el enfoque global de ignorar git. Sin embargo, si su archivo se genera solo en un repositorio específico, puede utilizar el enfoque git ignorar por repositorio.

Para obtener más información, puede leer this gran publicación de blog. Y allí por idioma específico las reglas de ignorar git pueden ser fundadas here . Y puede generar automáticamente reglas generales de ignorar git para un lenguaje, herramienta o sistema operativo específico usando este sitio web .


No debe colocar archivos específicos de la herramienta en el archivo .gitignore un proyecto, a menos que cada desarrollador del proyecto deba usar esa herramienta.

En su lugar, cree su archivo .gitignore global personal en su directorio de inicio y .gitignore :

git config --global core.excludesfile ~/.gitignore

Ahora puede colocar los archivos generados por sus herramientas de desarrollo en su archivo .gitignore .


Puede tener un .gitignore en cada directorio de su proyecto.

Sin embargo, la mejor práctica es tener un único archivo .gitignore en el directorio raíz del proyecto y colocar todos los archivos que desee ignorar, como este:

ignoredFile.whatever ignoredDirectory/* directory/ignoredFileInsideDirectory .svn

Una vez que haya creado el archivo .gitignore , los archivos de ignorar que tengan cambios o que sean nuevos en el repositorio no se mostrarán como en espera de la confirmación.

También puede tener un archivo global ignorar git local, que administrará todos sus repositorios git.

git config --global core.excludesfile ~/.gitignore_global

Esta alternativa es particularmente interesante para archivos ignorados que no están relacionados con el proyecto, como archivos relacionados con IDE, etc.


por lo general, es una buena práctica incluir el archivo .gitignore en el directorio raíz del proyecto