¿Cómo se "muestra git" en un repository remoto?

Intento enganchar mi repository de git con la function de Servidor de origen de Microsoft, de forma que las personas que se depuren en mi binary extraerán automáticamente los files fuente de github.com.

El command git show me proporcionará el file correcto y la versión que necesito, pero como el depurador no se ejecuta en una computadora con un repository git local del código fuente del proyecto, necesito "git show" para extraerlo de github en lugar de directory local Me estoy imaginando algo como esto:

git --no-pager "--git-dir=git://github.com/AArnott/dotnetopenid.git" show 93e76d5ff529b6c9921a984c3608c150ed4ee7a3 

Cuando el argumento –git-dir es un directory local, funciona bien, pero cuando se trata de una location remota, me da un error como:

fatal: no es un repository de git: 'git: //github.com/AArnott/dotnetopenid.git'

¿Qué command git desplegará una versión particular de un file particular desde una location de URL remota?

Desafortunadamente, git no es compatible con la búsqueda de files remotos individuales. Hay tres soluciones:

  • Use git fetch para get el historial remoto, luego arrebate el file desde el almacén de objects local.
  • Utilice git archive para get un tree completo (por ejemplo, git archive --remote=url master:somesubdir ) en formatting tar en stdin.
  • Configure gitweb o algo así en el server y obtenga el file a través de eso.

Si está instalando binarys en un sistema y espera que las personas estén "depurando en su binary", parece que podría instalar algunos files adicionales, ¿no?

Uno de ellos podría ser un $ HOME / .gitconfig (o lo que se llame en Windows) que tenga alias, algo así como:

 [remote "msrepo"] url = http://microsoft/git/url.git [alias] msreposhow "git fetch --no-pager msrepo; git show $1" 

Entonces podría hacer un "git msreposhow SHAKEY" en un solo paso, que llamará al alias y ejecutará ambos commands en un solo paso.