¿Qué files de mi proyecto debo poner en repo?

Estoy usando Dev-C ++ IDE para la progtwigción C.

Quiero poner mi proyecto en Github, pero me gustaría saber qué tipo de files debo poner allí. Quiero decir, la carpeta del proyecto tiene .o, .layout, .dev (file de proyecto dev-C ++), .exe junto con los files de origen .c y .h .mkv (make file)

Entonces, qué files debo poner. Si no debo poner esos files, ¿cómo debo gestionarlos? Quiero decir que mi file .git está almacenado allí … así que, cuando haya algunos files … me sigue mostrando que no están actualizados / empujados …

Las tres reglas básicas a seguir con todo el control de origen son:

  • Si se trata de un activo generado, no entra en control de fuente. De lo contrario, está desperdiciando espacio y duplicando esfuerzos innecesariamente, y corre el riesgo de datos obsoletos. Esto incluye cosas como files de objects, binarys de proyectos comstackdos, etcétera.

  • Si contiene configuration, keys, passwords, variables de entorno, etc. que son específicos de su máquina, no entra en control de fuente. Debe eliminar todo lo que sea específico para usted (references a routes de files que no existirán en la máquina de otra persona, etc.).

  • Si se trata de una dependencia binaria que no controlas (por ejemplo, dependes de glib o NUnit), tampoco debe estar en control de fuente. Pero puede que no tenga otra opción si no puede o no usa un package / administrador de dependencies. Idealmente, es mejor si eso nunca vive en su código y simplemente tiene una configuration en algún lugar que dice "dependo de NUnit v.2.3.5".

Hay excepciones para cada regla, por supuesto, pero estos son algunos buenos puntos de partida.

Tenga en count que esto no es específico de git; A git no le importa qué files quiere poner en control de fuente, y le permitirá hacer cualquier cosa. Probablemente obtendrías la misma respuesta si estuvieras usando hg, Subversion o cualquier otra cosa similar.

Por lo general, ponemos Sourcecode y resources en el repository. Los files OBJ y BIN no se deben colocar allí ya que solo producen conflictos.

Regla simple: no coloque files en el repository generados dinámicamente por su IDE

o en otras palabras:

Cuando tira su computadora y compra una nueva: ¿Qué files necesita para seguir trabajando?

Por lo general, ponemos todo en el repository que necesita para build el proyecto. Entonces los files de código, files de proyecto, scripts, resources.

NO ponemos binarys en el repository que se puede comstackr comstackndo el código. Sin embargo, ponemos binarys de terceros en el repository.

Todos los demás files, como los obj no pertenecen allí.