¿Cómo usar git o hg para rastrear los files seleccionados en una carpeta?

Tengo varios files en mi carpeta de inicio que quiero tener bajo control de versión. Pero si pongo toda la carpeta bajo control de versión, en cada ejecución del estado de git o hg, veré una gran list de files sin seguimiento. ¿Hay alguna manera de usar git o hg de tal forma que rastreen solo los files especificados e ignoren cualquier otro file?

Tanto para Git como para Mercurial puedes tener que usar el mismo método:

  • Crear repository en la carpeta necesaria (para Git puede estar incluso fuera del directory de trabajo)
  • Agregar todos los files en ignorar-list
  • Agregue especialmente solo files, que quiera controlar , a VCS

Los files agregados no serán ignorados por VCS, todos sin versión – ignorados por defecto por especificación

Utilice .gitignore, pero dígale que ignore todos los files y luego anule esa línea con otra que especifique los files para que no se ignoren, introduciendo esos signos en un signo de admiración.

Por ejemplo, para rastrear files a y b pero nada más, .gitignore:

* !a !b 

Por lo tanto, debe tomar esa list de files que realmente desea y agregarlos como líneas individuales, como las líneas! A y! B anteriores.

Para get más información sobre gitignore, http://git-scm.com/docs/gitignore , específicamente la sección en la parte inferior:

 Example to exclude everything except a specific directory foo/bar (note the /* - without the slash, the wildcard would also exclude everything within foo/bar): $ cat .gitignore # exclude everything except directory foo/bar /* !/foo /foo/* !/foo/bar 

Si su objective es administrar / respaldar files punto, lo cual creo que es lo que mencionó en un comentario, hay muchas personas que han proporcionado tutoriales o herramientas para evitar administrar a mano un file hgignore o un file gitignore. Ver por ejemplo el siguiente tutorial:

Administrar tus files de puntos

que proporciona algunos ejemplos (nostálgico, dotbot, cómo usar enlaces simbólicos, etc.).

Para GIT: puede usar files .gitignore.

http://git-scm.com/docs/gitignore

De forma alternativa, configure repositorys individuales para los directorys que desee bajo control de versiones.

Mercurial probablemente tiene algo como esto: .hgignore .

Probablemente sea mejor hacer una búsqueda en google para este tipo de cosas. Es una acción común para git / hg