Funciones git locales

Descubrí cómo hacer funciones para que git bash cargue en Windows usando el file .bashrc en mi carpeta de inicio (con la solución de .bash_profile):

# Example function cush() { git add Figures/; git commit -am "$1"; # Parse string to git git push; } 

Pero esta function está dedicada a LaTeX y, de hecho, solo necesito usarla cuando trabajo en types específicos de repositorys. Entonces mi pregunta es si hay una forma de hacer funciones localmente, de modo que se cargue al cargar git bash en esa carpeta específica. Esto motiva la funcionalidad que es específica para el repository, al igual que .gitignore es.

Esta pregunta puede ayudar. Intenté esta solución y podría funcionar en mi Ubuntu15.x y git versión 2.8.2 mientras que los otros tienen errores.

 [alias] cush = !git add . && git commit -m $1 && git push && : 

para que pueda agregar este alias en la configuration local y ejecutar git cush <message> .

Por lo general, no debe preocuparse por tener funciones innecesarias definidas a less que desee usar el mismo nombre para diferentes funciones dependientes del context. bash no proporciona directamente un gancho para ejecutar código cuando el directory de trabajo cambia, pero puede (ab) usar PROMPT_COMMAND para ejecutar código de manera condicional en function del valor de $PWD cada vez que se muestre un nuevo aviso.

  1. Crea un directory llamado .bash-functions
  2. Coloque sus funciones específicas de LaTex en .bash-functions/latex
  3. Cree un file .bash-functions/un-latex que contenga código para deshacer las funciones específicas de LaTeX, algo así como

     unset -f cush 
  4. Agregue lo siguiente a su .bashrc :

     source_local_functions () { source ./bash-functions/un-latex if [[ $PWD == foo ]]; then source ./bash-functions/latex fi } PROMPT_COMMAND=source_local_functions 

Ahora, cada vez que muestre un nuevo aviso, bash desarmará sus funciones específicas de LaTex, luego las reiniciará si está en un directory llamado foo (obviamente puede ajustar esta testing para los directorys reales que deben usar las funciones LaTeX).

Esto se vuelve difícil de manejar si tiene que definir otras funciones específicas del directory, ya que necesita realizar un seguimiento de las funciones que se deben desarmar y cuáles establecer para cada cambio de directory.