Cómo determinar correctamente la URL de un repository de Git

Estoy luchando a mi manera a través de Git + Apache y perdiendo.

Más específicamente:

  • Instalé Git en Windows7 de 64 bits (fui a git-scm.com/download/win)
  • Configurado git mediante cmd.exe (rellenado mi nombre, correo electrónico, etc.)
  • Creé un repository en mi máquina (creé una carpeta C: \ RepoGitPlayground , navegué a través de cmd, hice un "git init", agregué un file ficticio al repository, luego "git add.", Luego "git commit" seguido por algún post)

Luego, necesito clonar el repository usando https. Como mi máquina ya tenía una installation del Servidor SVN Visual, y sabiendo que viene incluida con un server Apache, pensé que usaría eso. Mi comprensión de cómo persuadir a Apache para que sirva a los repositorys de Git a través de https proviene de este tutorial: http://blog.subgit.com/visualsvn-subversion-server-and-git/

De acuerdo a esto:

  • Aumenté la installation de Apache con el file mod_cgi.so (qué lucha … faltaba originalmente, ya que el Servidor Visual SVN solo viene con una versión networkingucida de Apache)
  • agregó el siguiente contenido al file httpd-custom.conf (un file de configuration de Apache):

    LoadModule cgi_module bin / mod_cgi.so

    LoadModule authz_user_module bin / mod_authz_user.so

    SetEnvIf Request_URI "^ / git /.*$" GIT_PROJECT_ROOT = C: / RepoGitPlayground

    SetEnvIf Request_URI "^ / git /.*$" GIT_HTTP_EXPORT_ALL 1

    ScriptAlias ​​/ git / "C: / Archivos de progtwig (x86) /Git/libexec/git-core/git-http-backend.exe/"

    Opciones + ExecCGI

    Requerir usuario válido

    AuthName "Servidor Visual SVN"

    AuthType Basic AuthBasicProvider file

    AuthUserFile "C: / Repositories / htpasswd"

Información necesaria para el lector: "Servidor Visual SVN" desde arriba (en el script) es el nombre de la count de Windows en el que están sucediendo las cosas. La contraseña para ello está completada_in en C: /Repositories/htpasswd.i_was_expecting_some_extension_here_but_it_has_none

Configurado de esta manera, Apache debería ahora (según el tutorial) ser capaz de cumplir con éxito mi siguiente deseo: "git clone htps: // Visual_SVN_Server @ localhost / git / RepoGitPlayground C: \ SomeNewFolder".

Cuando se le pide que haga eso, dice: fatal: repository 'htps: // Visual_SVN_Server @ localhost / git / RepoGitPlayground' not found

En este punto mi cerebro bluescreens.

Menciones:

  • dentro de la carpeta RepoGitPlayground puedo ver la estructura de files habitual: una carpeta .git oculta que contiene las carpetas usuales "ganchos, información, loggings, objects, references" junto con los files config, description, HEAD, index, etc. Clásica, by_the_book estructura de repository de Git.

  • también, en MyComputer, si hago clic derecho en RepoGitPlayground aparecerán todas las opciones habituales de Tortoise Git (no aparecen en relación con la carpeta any_other_ordinary_non_Git_repository)

Por lo que sé, apunté a Apache en dirección a un repository válido y legítimo de Git. No sé por qué no puede "encontrarlo".

Teniendo en count nuevamente el command "git clone htps: // Visual_SVN_Server @ localhost / git / RepoGitPlayground C: \ SomeNewFolder" , debo admitir que no entiendo cómo y por qué la dirección se reconstruye así.

La primera parte: htps: // Visual_SVN_Server @ localhost parece solo una URL normal. El tipo de cosas que la gente usa en la web.

La segunda parte, / git / RepoGitPlayground se parece más a un_hard_style_hard_disk_path , y eso me repugna, no esperaba que los 2 se mezclaran así.

Además, sí, reconozco la parte de RepoGitPlayground , es una carpeta que creé con mi propia mano … Pero no sé quién es "git" (eso viene antes). Después de todo, mi carpeta reside en C: \, no en C: \ git. Sin embargo, al ver eso en el guión anterior escribí en la línea 3:

"SetEnvIf Request_URI" ^ / git /.*$ "GIT_PROJECT_ROOT = C: / RepoGitPlayground"

Pensé en "git" como solo un alias para C: / RepoGitPlayground. En consecuencia, traté de modificar el command de clonación para git clone htps: // Visual_SVN_Server @ localhost / git C: \ SomeNewFolder , pero el resultado fue exactamente el mismo: no se encontró el repository.

Otro punto de confusión para mí: leí muchas otras discusiones que se referían al repository en términos de htps: //something_in_the_middle/repo_name.git

Es la última parte que me atrapa: name_of_repository.git. ¿Cómo? Según la teoría, tienes una carpeta (tu repository) y DENTRO DE ELLA tienes una carpeta oculta llamada simplemente ".git".

Inútil decirlo, intenté de esta manera también (agregando una "extensión" .git a RepoGitPlayground en la command-line) pero tampoco funcionó.

He estado luchando por esto durante la última semana, y a less que una solución llegue a mi manera pronto, entonces mi dimisión_de_honor debe seguir el path del gerente. Realmente agradecido por cualquier ayuda …

A lo largo del text omití deliberadamente una "t" en "https"; Tengo muchos de ellos como arguments para el command "git clone" y StackOverflow los interpreta como enlaces; Debo tener al less 10 puntos de reputación para poder publicar más de 2 enlaces; esta es mi primera publicación, no tengo ninguna reputación (sin embargo, en realidad NO son enlaces).