Quiero que git ignore mi UserInterfaceState.xcuserstatearchivo en mi proyecto XCode4, pero ¿dónde debería poner el .gitignorearchivo ?, ¿está dentro de la .gitcarpeta? o fuera? El .gitestá en la misma carpeta con el ProjectName.xcodeprojarchivo
102

Respuestas:
Puede tener un
.gitignoreen cada directorio de su proyecto.Sin embargo, la mejor práctica es tener un solo
.gitignorearchivo en el directorio raíz del proyecto y colocar todos los archivos que desee ignorar en él, así:Una vez que cree el
.gitignorearchivo, los archivos ignorados que tienen cambios o son nuevos en el repositorio no se mostrarán como esperando para ser confirmados.También puede tener un archivo de ignorar git local global, que administrará todos sus repositorios de git.
git config --global core.excludesfile ~/.gitignore_globalEsta alternativa es particularmente interesante para archivos ignorados que no están relacionados con el proyecto, como archivos relacionados con IDE, etc.
fuente
Hay enfoques para ignorar archivos en git:
~/.gitignore_globalruta. Este enfoque es bueno si desea excluir algunos tipos de archivos generados por el sistema operativo o cualquier otra herramienta de registro, cobro, etc..git/info/excludearchivo en su repositorio. Las reglas especificadas en este archivo no se confirmarán, lo que significa que no se compartirá con otros. Generalmente, este enfoque es útil para evitar la confirmación de archivos generados localmente. Por ejemplo, para archivos creados por su editor..gitignoreen cualquier subruta de su repositorio específico. Este enfoque generalmente se usa para ignorar algunos tipos de archivos solo en una carpeta específica de un repositorio específico. Si bien estos archivos se pueden agregar al control de versiones mediante otras rutas y otros repositorios.Entonces, mi sugerencia es que, si desea ignorar su archivo específico (
UserInterfaceState.xcuserstate) en todos sus repositorios, el mejor enfoque es usar el enfoque global git ignore. Sin embargo, si su archivo se genera solo en un repositorio específico, puede usar el enfoque de ignorar git por repositorio.Para obtener más información, puede leer esta excelente publicación de blog. Y allí, por idioma, las reglas de ignorar git específicas se pueden fundar aquí . Y puede generar automáticamente reglas generales de ignorar git para un idioma, herramienta u sistema operativo específicos usando este sitio web .
fuente
Debe colocar el archivo .gitignore en el directorio raíz del proyecto.
fuente
No hay
.gitignoredentro de una.gitcarpeta.Sin embargo, es un
.git/info/excludearchivo, que le permite excluir un archivo localmente, generalmente cuando desea excluir un archivo solo para este repositorio específico (con un alias como este ):Si necesita excluir este archivo para todos los proyectos similares, como mencionó Elnur Abdurrakhimov en su respuesta , exclúyalo globalmente.
Pero, como se menciona en " ¿Necesitamos registrar * .xcuserstate? ", Si se trata de un tipo de archivo que debe ser ignorado por cualquier usuario de ese repositorio, en realidad versionaría un .gitignore en la parte superior del repositorio, con un contenido similar a:
De esa manera, cualquier usuario de ese repositorio ni siquiera se dará cuenta de que este archivo existe y se genera (sea cual sea su nombre): no aparecerá
git statusnunca.O puede ignorar por
xcuserdata/completo (ya sea en un global.gitignoreo en uno versionado, como el archivo genérico de GitHubObjective-C.gitignore.fuente
Usted debe no poner los archivos de herramientas específicas en un proyecto de
.gitignorearchivo - a menos que se requiere herramienta para ser utilizada por cada desarrollador del proyecto.En su lugar, cree su
.gitignorearchivo global personal en su directorio de inicio y actívelo:Ahora puede poner en su
.gitignorearchivo cualquier archivo generado por sus herramientas de desarrollo .fuente
Normalmente, su mejor práctica es incluir el
.gitignorearchivo en el directorio raíz del proyecto.fuente