¿Cómo agrego una solución existente a GitHub desde Visual Studio 2013?


208

He revisado muchas páginas web sobre la nueva integración de Git en VS 2013 y no tratan de agregar una solución existente a Github. De hecho, no puedo encontrar mucho sobre el uso de GitHub en lugar de Visual Studio Online.

¿Alguien puede decirme cómo comienzo desde una solución existente y agregarla a Github usando las herramientas en VS 2013.


¿Por qué no hacerlo desde la línea de comandos? ¿Debería ser solo alrededor de 5 comandos (crear repositorio, agregar proyecto al repositorio [2 comandos], agregar remoto, empujar a remoto) ? Todos los comandos están bastante bien documentados.
R0MANARMY

2
Agregarlo a través de github para VS agregará el botón "Abrir con Visual Studio" en la página de github. menor pero útil :)
Ateik

Respuestas:


348

OK, esto funcionó para mí.

  1. Abra la solución en Visual Studio 2013
  2. Seleccionar archivo | Agregar al control de origen
  3. Seleccione el proveedor de Microsoft Git

Eso crea un repositorio GIT local

  1. Surf a GitHub
  2. Cree un nuevo repositorio NO SELECCIONE Inicialice este repositorio con un archivo README

Eso crea un repositorio vacío sin rama maestra

  1. Una vez creado, abra el repositorio y copie la URL (está a la derecha de la pantalla en la versión actual)
  2. Regrese a Visual Studio
    • Asegúrese de tener el proveedor de Microsoft Git seleccionado en Herramientas / Opciones / Control de origen / Selección de complemento
  3. Abra Team Explorer
  4. Seleccione Inicio | Compromisos no sincronizados
  5. Ingrese la URL de GitHub en el cuadro amarillo (use la URL HTTPS, no la SSH que se muestra por defecto)
  6. Haga clic en Publicar
  7. Seleccione Inicio | Cambios
  8. Agregar un comentario de confirmación
  9. Seleccione Confirmar y empujar del menú desplegable

Tu solución ahora está en GitHub


44
Quiero agregar que actualmente ssh no es compatible, por lo que debe usar el protocolo https. Si ya se usa la URL incorrecta, puede usar git remote set-url origin https: // ... para cambiarla.
Michael Dietrich

1
Gracias, esto me ayudó. Comprobar inicializar en github me estaba arruinando.
josha76

66
Si ha saltado el arma y ha creado el repositorio con el archivo Léame, puede recuperarlo abriendo un shell git (bash o ps) y desde el directorio raíz escriba git remote rm origin. Eso traerá de vuelta el cuadro de texto URL en VS2013 y le permitirá volver a agregar el servidor remoto. Puede haber una forma de hacerlo en VS pero no pude encontrarlo.
bob

44
Cuando hago clic en Publicar, me dice: You must commit changes to your local repository before you can publish.¿Qué hago? ¿Cómo confirmo los cambios en mi repositorio local?
Mark Kramer

44
Hace clic en Inicio | Cambios Luego ingrese un mensaje de confirmación en el cuadro amarillo y haga clic en Confirmar.
Richard210363

82

Hay una manera mucho más fácil de hacer esto que ni siquiera requiere que hagas nada fuera de Visual Studio.

  • Abre tu proyecto en Visual Studio
  • Archivo> Agregar al control de origen
  • Abra Team Explorer, haga clic en el botón Inicio , vaya a " Sincronizar " y allí encontrará " Publicar en GitHub ". Haga clic en " Comenzar "
  • Escriba el título de su repositorio y la descripción (opcionalmente).
  • Haga clic en " Publicar "

Eso es todo. El complemento github de Visual Studio creó automáticamente el repositorio para usted y configuró todo. Ahora simplemente haga clic en Inicio y elija la pestaña " Cambios " y finalmente confirme su primer compromiso.


17
No se sienta abrumado por la cantidad de votos. Este funciona y es mucho más simple, al menos en VS2015.
dotNET

2
No pude encontrar la cosa github Así que tuve que usar esto: visualstudio.github.com
ʍѳђ ઽ 9 ท

Esto es lo que estaba buscando. Sin embargo, mi experiencia fue un poco diferente. Cuando presioné Add to source control, me llevaron directamente a la pantalla para agregar el primer commit a lo que parecía ser un repositorio git local creado automáticamente, que era exactamente lo que quería. Comunidad VS2015.
parker.siky

3
Estoy bastante seguro de que esta solución asume que la extensión Github para VS2015 está instalada. Puede obtenerlo aquí como se describe en un comentario anterior: visualstudio.github.com
Greg

2
Acabo de utilizar este método para enviar una solución VS2017 a un repositorio local de Gogs.
Peter M

12

Esta pregunta ya ha sido respondida con precisión por Richard210363.

Sin embargo, me gustaría señalar que hay otra forma de hacer esto, y advertir que se debe evitar este enfoque alternativo , ya que causa problemas.

Como R0MANARMY declaró en un comentario a la pregunta original, es posible crear un repositorio desde la carpeta de solución existente usando la línea de comando git o incluso Git Gui. Sin embargo, cuando hace esto, agrega todos los archivos debajo de esa carpeta al repositorio, incluidos los archivos de opciones de usuario de salida de compilación (bin / obj / carpetas) (.suo, .csproj.user) y muchos otros archivos que pueden estar en su solución carpeta pero que no desea incluir en su repositorio. Un efecto secundario no deseado de esto es que después de compilar localmente, la salida de compilación aparecerá en su lista de "cambios".

Cuando agrega utilizando "Seleccionar archivo | Agregar al control de código fuente" en Visual Studio, incluye de manera inteligente los archivos de proyecto y solución correctos, y deja de lado a los demás. También crea automáticamente un archivo .gitignore que ayuda a evitar que estos archivos no deseados se agreguen al repositorio en el futuro.

Si ya ha creado un repositorio que incluye estos archivos no deseados y luego agrega el archivo .gitignore más adelante, los archivos no deseados seguirán siendo parte del repositorio y deberán eliminarse manualmente ... probablemente sea más fácil eliminar el repositorio y comenzar de nuevo creando el repositorio de la manera correcta.


Usé el método propuesto anteriormente por MaKiPL. Funcionó. y NO tenía las deficiencias descritas por jjjjs. Encontré que el método propuesto por MaKiPL es mucho más fácil que usar un comando Git.
Glenn Garson

6
  • Desde el menú de Team Explorer, haga clic en "agregar" en la sección del repositorio de Git (deberá agregar el directorio de la solución al repositorio de Git local)
  • Abra la solución desde Team Explorer (haga clic con el botón derecho en la solución agregada - abrir)
  • Haga clic en el botón de confirmación y busque el enlace "push"

Visual Studio ahora debería solicitar sus credenciales de GitHub y luego proceder a cargar su solución.

Como tengo mi cuenta de Windows conectada a Visual Studio para trabajar con Team Foundation, no sé si funciona sin una cuenta, Visual Studio hará un seguimiento de quién se compromete, por lo que si no ha iniciado sesión, probablemente le pedirá que lo haga primero.


3
No hay ninguna sección de agregar y Git en mi Team Explorer
Richard210363

4

Bueno, entiendo que esta pregunta está relacionada con la GUI de Visual Studio, pero tal vez el autor de la pregunta también puede probar este truco. Simplemente dando una perspectiva diferente para resolver este problema.

Me gusta usar mucho la terminal para GIT, así que aquí están los pasos simples:

Prerrequisitos ...

  • Si es Linux o MAC, deberías tener paquetes git instalados en tu máquina
  • Si es Windows, puede intentar descargar el software git bash

Ahora,

  1. Goto Github.com
  2. En su cuenta, cree un nuevo repositorio
  3. No cree ningún archivo dentro del repositorio. Mantenlo vacío. Copia su URL. Debería ser algo así como https://github.com/Username/ProjectName.git

  4. Abra la terminal y redirija a su directorio de Visual Studio Project

  5. Configura tus credenciales

    git config --global user.name "your_git_username"
    git config --global user.email "your_git_email"
    
  6. Luego escriba estos comandos

    git init
    git add .
    git commit -m "First Migration Commit"
    git remote add origin paste_your_URL_here
    git push -u origin master
    

Hecho ... Espero que esto ayude


en la última línea, este maestro de origen git push -u, dio un error al decir que el control remoto contiene trabajo que no tiene localmente (se creó recientemente y estaba vacío). Luego, cuando trató de tirar de nuevo. "no hay información de seguimiento de la rama actual" Git es un misterio
Blue Clouds

este enlace proporciona alguna explicación de los comandos mencionados anteriormente
Tendai Mare

Realmente funciona. Gracias ...
:)

0

Mi problema es que cuando uso https para la URL remota, no funciona, así que uso http en su lugar. Esto me permite publicar / sincronizar con GitHub desde Team Explorer al instante.


Desearía saber qué significa "no funciona", así que tuve una mejor idea de si esto podría ser relevante para los problemas que he tenido.
user34660

0

Ninguna de las respuestas fue específica para mi problema, así que así es como lo hice.

Esto es para Visual Studio 2015 y ya había hecho un repositorio en Github.com

Si ya tiene su URL de repositorio, cópiela y luego en Visual Studio:

  • Ir a Team Explorer
  • Haz clic en el botón "Sincronizar"
  • Debería tener 3 opciones enumeradas con enlaces de "inicio".
  • Elegí el enlace "comenzar" contra "publicar en repositorio remoto", que es el inferior
  • Aparecerá un cuadro amarillo preguntando por la URL. Simplemente pegue la URL allí y haga clic en publicar.

0

Son unos pocos clics menos en VS2017, y si el repositorio local está por delante del clon de Git, haga clic en Control de fuente en el menú emergente del proyecto: Aparece el cuadro de diálogo Cambios de Team Explorer: escriba una descripción, aquí está "Desbordamiento de pila Ejemplo de compromiso ". Elija entre las tres opciones que se ofrecen, todas las cuales se explican aquí .

ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.