Git en Visual Studio: ¿agregar un proyecto existente?


105

Estoy tratando de poner un proyecto existente bajo el control de código fuente de Git, pero no tengo claro varias cosas.

He configurado una cuenta de Git 'Team Foundation Service' en línea.

Actualmente tengo una solución ASP.NET MVC 4, en mi carpeta Proyectos. He creado un 'repositorio' de Git localmente (una carpeta vacía actualmente). ¿Debería ser mi carpeta de aplicación actual en Proyectos? ¿O necesita ser una copia?

¿Cómo consigo mis archivos existentes en el repositorio en línea?


Mencionas "Git en Visual Studio", ¿estás usando las herramientas de git en Visual Studio 2012?
Edward Thomson

Creo que esto ahora se ha integrado en la versión de 2015 en Team Explorer. Me encontré con esto, donde no pude 'Publicar' (vs push inicial después de init), así que
agregaré

Respuestas:


148

Busqué una pregunta similar: la forma en que logré inicializar un repositorio de Git para un archivo de proyecto existente es la siguiente (descargo de responsabilidad: esto se hace en Visual Studio 2013 Express, sin una configuración de Team Foundation Server):

  1. Abra el proyecto en Visual Studio.
  2. Vaya al menú ArchivoAgregar a control de fuente .

Eso lo hizo por mí: asumiendo que Git está configurado para usted, puede ir al menú VerTeam Explorer , luego hacer doble clic en el repositorio para el archivo de su proyecto y realizar su confirmación inicial (asegurándose de agregar los archivos que desee ).


7
Esto también le evitará la molestia de "proporcionar un archivo .gitignore razonable", ya que Visual Studio se ocupará de este detalle por usted. Entre un git init manual y este, este es mi método preferido de ahora en adelante.
MrCC

Si desea elegir el proyecto en el que entra esta nueva solución, puede hacer clic en el botón Sincronizar, luego hacer clic en publicar en git repo, luego hacer clic en solución avanzada y elegir el proyecto al que le gustaría agregar esta nueva solución ... una vez que haya hecho eso, puede sincronizar y boom
Jamisco

Nota: que esto no funcionó para mí porque ya había agregado una biblioteca compartida que estaba incluida en otro repositorio. Tuve que eliminar el proyecto compartido antes de que la opción 'Agregar al control de código fuente' estuviera disponible.
Neil B

2
Deberían agregar esto a la ventana de Team Explorer.
thReality

66
  1. En primer lugar, debe instalar el software Git en su máquina de desarrollo local, por ejemplo, extensiones de Git .
  2. Luego hazlo git initen la carpeta de la solución. Esa es la forma correcta de crear una carpeta de repositorio.
  3. Configure un .gitignorearchivo razonable , para que no cometa cosas innecesarias.
  4. git add
  5. git commit
  6. Agregue el control remoto adecuado, como se describe en su cuenta de Team Foundation Server git remote add origin <proper URL>
  7. git push tu codigo

Como alternativa, hay guías detalladas aquí utilizando la integración de Visual Studio.


Esto funcionó muy bien, ¡gracias Klas! Una nota: debe tener su URL entre comillas para que funcione.
Jack Fairfield

NB: Nueva URL para Git Extensiones: visualstudiogallery.msdn.microsoft.com/...
JohnLBevan

@JohnLBevan esa extensión parece que apunta a una versión antigua
Klas Mellbourn

los enlaces están rotos

@PaulScharnofske gracias por decírmelo. Los he arreglado ahora
Klas Mellbourn

15

Después de trabajar con dificultad en Visual Studio, finalmente descubrí la respuesta que tomó mucho más tiempo de lo que debería.

Para tomar un proyecto existente sin control de código fuente y colocarlo en un repositorio VACÍO existente (esto es importante) de GitHub, el proceso es simple, pero complicado, porque su primera inclinación es usar Team Explorer, lo cual está mal y es por eso estás teniendo problemas.

Primero, agréguelo al control de fuente. Hay algunas explicaciones de eso arriba, y todo el mundo llega hasta aquí.

Ahora, esto abre un repositorio LOCAL vacío y el truco del que nadie te habla es ignorar el Team Explorer por completo e ir al Explorador de soluciones, hacer clic derecho en la solución y hacer clic en Confirmar.

Esto luego confirma todas las diferencias entre su solución existente y el repositorio local, esencialmente actualizándolo con todos estos archivos nuevos. Déle un nombre de confirmación predeterminado 'archivos iniciales' o lo que sea que flote en su barco y confirme.

Luego, simplemente haga clic en Sincronizar en la siguiente pantalla y suelte la URL del repositorio de GitHub VACÍA. Asegúrese de que esté vacío o tendrá conflictos de rama maestra y no se lo permitirá. Entonces, use un nuevo repositorio o elimine el anterior que había estropeado anteriormente. Tenga en cuenta que este es Visual Studio 2013, por lo que su kilometraje puede variar.


14

Simplemente haga clic derecho en su solución y seleccione Agregar al control de fuente . Luego seleccione Git.

Ahora sus proyectos se han agregado a un control de fuente local. Haga clic derecho en uno de sus archivos y seleccione Confirmar .

Luego ingrese un mensaje de confirmación y seleccione Confirmar . Luego, seleccione Sincronizar para sincronizar su proyecto con GitHub. Requiere tener un repositorio Git. Vaya a GitHub, cree un nuevo repositorio, copie el enlace del repositorio y agréguelo a su servidor de control de fuente remoto. Seleccione Publicar .

Eso es todo.


Esta respuesta es correcta y funciona en VS 2015. Sin embargo, tenía una pregunta importante al ser un nuevo usuario de git. VS 2015 no pareció crear un archivo gitignore ni ofrecer ninguna forma de ignorar los archivos / dlls creados por VS que NO deberían registrarse. Como la carpeta obj, por ejemplo, está tratando de enviar todo a los repositorios locales. ¿Alguien más tiene este problema? No quiero que todas estas cosas se comprometan localmente.
Matt

Enmendaré mi comentario anterior a medida que sepa más. Cuando revisé el directorio, de hecho construyó el archivo gitignore, lo cual es genial porque es muy grande y no me gustaría intentar construirlo manualmente. Sin embargo, cuando intenté hacer mi confirmación inicial en el repositorio local, VS no usó este archivo gitignore porque todos los archivos estaban disponibles para comprometerse en git y fue un gran lío. Así que cerré la solución, eliminé la carpeta .git y 2 archivos git en mi solución (que se separa de git), volví a abrir y fui a file-> add to source control y seleccioné git nuevamente. Esta vez funcionó muy bien.
Matt

Ahora es diciembre de 2019 y es aún más fácil. Después de realizar los pasos anteriores y presionar Sincronizar, se me preguntó si quería hacer de este un repositorio privado la cuenta de GitHub. Una vez seleccionado, el nuevo repositorio se creó para mí (sin que tuviera que ir a GitHub) y se creó correctamente.
batpox

5

Usando SourceTree :

Haga clic derecho en el nombre de la solución en el Explorador de soluciones. Seleccione "Agregar al control de fuente" .

Luego dirígete a SourceTree y selecciona Clonar / Nuevo . Seleccione Agregar carpeta de trabajo y señale el nuevo lugar de Git que acaba de crear dentro de su solución.

Ir y tomar la dirección de un clon de vacío de Git, (Bitbucket o GitHub) y volver a SourceTree, haga clic derecho en Remotos y añadir nueva remoto . (Tenga en cuenta que en las versiones modernas, vaya a RepositoriosAgregar control remoto ... Pegue su URL en ese cuadro y presione OK.

Así es como puede hacer su compromiso inicial y empujar.


5

La forma más fácil es, obviamente, como se describe en el artículo de MSDN Comparta su código con Visual Studio 2017 y VSTS Git .

  1. Cree un nuevo repositorio de Git local para su proyecto seleccionando Agregar al control de código fuente en la barra de estado en la esquina inferior derecha de Visual Studio. Esto creará un nuevo repositorio en la carpeta en la que se encuentra la solución y enviará su código a ese repositorio.

    Ingrese la descripción de la imagen aquí

  2. En la vista de inserción en Team Explorer, seleccione el botón Publicar repositorio de Git en Enviar a Visual Studio Team Services.

    Ingrese la descripción de la imagen aquí

  3. Conecte Remote Source Control e ingrese el nombre de su repositorio y seleccione Publicar repositorio .

    Ingrese la descripción de la imagen aquí


3

En Visual Studio 2015, la única forma en que finalmente hice que funcionara fue ejecutar git initdesde la raíz de mi directorio usando la línea de comando. Luego entré en Team Explorer y agregué un repositorio de git local. Luego seleccioné ese repositorio local de git, fui a Configuración-> Configuración del repositorio y agregué mi Repositorio remoto. Así fue como finalmente pude integrar Visual Studio para usar mi proyecto existente con git.

Leí todas las respuestas, pero ninguna me funcionó. Fui a Archivo-> Agregar al control de código fuente, que se suponía que debía hacer básicamente lo mismo que git init, pero no parecía inicializar mi proyecto porque cuando iba a Team Explorer todas las opciones estaban en gris. Además, tampoco aparecerá nada en el cuadro de diálogo Cambios. Otra respuesta indicó que solo tenía que crear un repositorio local en Team Explorer y luego aparecerían mis cambios, pero eso tampoco funcionó. Todas las opciones de Git en Team Explorer solo funcionaron después de que inicialicé mi proyecto a través de la línea de comando.

Soy nuevo en Visual Studio, así que no sé si me perdí algo obvio, pero parece que mi proyecto no se estaba inicializando desde Visual Studio.


Después de seleccionar "Archivo -> Agregar al control de código fuente", ¿hay algo en la ventana de salida para el panel "Control de código fuente - Git"? No esperaría nada en la página de Cambios, pero si vio el historial del repositorio de Git, esperaría que mostrara una confirmación "Agregar archivos de proyecto" donde los archivos se enviaron al repositorio.
Jamill

¿Es lo mismo que el Explorador de control de código fuente? Si es así, no muestra nada. Solo muestra un enlace para agregar un complemento de control de fuente. Cuando hago clic en él y selecciono Git, no pasa nada. En cuanto a los otros paneles dentro de Team Explorer, tampoco sucede nada. Solo después de inicializar el proyecto desde la línea de comando y luego crear un repositorio local desde el panel Conexiones, empiezo a ver las herramientas VS Git interactuando con mi proyecto.
chavab_1

2

Primero cree una 'Carpeta de soluciones' con la ruta relativa deseada. Tenga en cuenta que Visual Studio 2012 no crea una carpeta del sistema con la misma ruta relativa.

Ahora, dentro de esa 'Carpeta de soluciones', agregue un nuevo proyecto, pero debe tener cuidado al definirlo de que la ruta relativa en el sistema coincida con la ruta relativa de su nueva 'Carpeta de soluciones'. Si la carpeta del sistema que desea no existe, Visual Studio 2012 la creará ahora para el nuevo proyecto. (Como se indicó anteriormente, no hace esto cuando agrega una nueva 'Carpeta de soluciones').

Si desea agregar un archivo existente con la ruta relativa coincidente, primero debe crear el archivo en la ruta relativa del sistema coincidente, desde fuera de Visual Studio. Luego, puede Agregar un archivo existente en Visual Studio.


1

Si el repositorio deseado ya existe (quizás en GitHub), puede clonarlo en su sistema local y luego copiar el directorio de la solución en él. Luego agregue los archivos, confirme los archivos y envíe el archivo local. Esto puso la solución en un repositorio.


1

Git en Visual Studio: agregue un proyecto existente ; cómo publicar su repositorio local en un proyecto en GitHub, GitLab o similares.

Entonces, ha creado una solución y desea que se cargue y el controlador de versiones a través de su cuenta de Git en algún lugar. Visual Studio 2015 tiene herramientas en Team Explorer para esto.

Como menciona Meuep, cargue su solución y luego navegue File >> Add to Source Control . Este es el equivalente de git init. Entonces tendrás esto:

Inicio de Team Explorer

Ahora, seleccione Settings >> Repository Settings y desplácese hasta Remotos .

Ingrese la descripción de la imagen aquí

Configure origin(asegúrese de poner este nombre reservado allí) y configure los URI.

Entonces puede usar Add, Syncy Publish.



0

Si desea abrir un proyecto existente desde GitHub, debe hacer lo siguiente (¡estos son pasos solo para Visual Studio 2013 !!!! Y más recientes, ya que en versiones anteriores no hay una instalación de Git incorporada):

  1. Explorador de equipo → Conectarse a proyectos de equipo → Repositorios de Git locales → Clonar .

  2. Copia / pega tu dirección de GitHub desde el navegador.

  3. Seleccione una ruta local para este proyecto.


0

Para mí, ya se creó un repositorio de Git (no GitHub), pero estaba vacío. Esta fue mi solución para agregar el proyecto existente al repositorio de Git:

  1. Cloné y verifiqué un repositorio con Git Extensions.
  2. Luego copié mis archivos de proyecto existentes en este repositorio.
  3. Se agregó un .gitignorearchivo.
  4. Organizó y comprometió todos los archivos.
  5. Insertado en el repositorio remoto.

Sería interesante ver todo esto hecho directamente en Visual Studio 2015 sin herramientas como Git Extensions, pero las cosas que probé en Visual Studio no funcionaron ( Agregar al control de código fuente no está disponible para mi proyecto, agregar un control remoto no ayuda, etc.).


0

Para agregar un proyecto dentro de una solución, simplemente abra la ventana de Team Explorer y vaya a Cambios. Luego, en Archivos sin seguimiento, haga clic en Ver opciones y seleccione Cambiar a vista de árbol (a menos que ya esté en la vista de árbol), haga clic con el botón derecho en la carpeta raíz del proyecto y seleccione Agregar .

Ingrese la descripción de la imagen aquí


0

Siempre olvido esto, así que esto es más para mí, pero tal vez podría ayudar a alguien más a usar VS.

Visual Studio tiene el concepto de Soluciones. Sin embargo, en git, tiene el concepto de un repositorio de git rastreado por ramas locales y remotas. Todos los archivos y carpetas que se agregan a git son locales.

Ahora, volviendo a Visual Studio Solutions, cuando crea un proyecto de plantilla estándar, crea todos los proyectos localmente para esa solución.

Entonces, el problema ocurre cuando agrega un proyecto que no es local a la solución o a git para el caso. Lo que sucede es que el archivo de solución .sln se actualiza con la ubicación del proyecto, pero el contenido real del proyecto, los archivos y las carpetas del proyecto no se pueden agregar a git porque están en un directorio separado o en una unidad de red separada o en algún servidor ftp etc .... Esto podría ser preferible si solo desea una referencia a un archivo de proyecto que se compila solo en el archivo .sln o si desea obtenerlos en repositorios git o github separados. Pero no desea que git rastree los archivos reales localmente.

Para remediar esto (es decir, si desea agregarlos a su repositorio de git), simplemente mueva los archivos remotos de interés dentro del alcance de la solución y sus archivos de proyectos para que sean locales.


0

A continuación se explica cómo hacerlo en Visual Studio 2015.

  1. Abra el proyecto y vaya a Herramientas >> Opciones >> pestaña "Control de código fuente" y seleccione "Git" como su control de código fuente. ingrese la descripción de la imagen aquí

  2. Vaya al menú Archivo y seleccione "Agregar al control de fuente".

Lo que esto hace es esencialmente ejecutar "git init" por Visual Studio creando todas las campanas y silbidos (la configuración ignora los archivos en consecuencia, como ignorar archivos específicos del usuario, archivos temporales, directorio, etc.).

Esencialmente, su repositorio de git se ha creado correctamente localmente (este es el paso principal con el proyecto VS, ya que esta carpeta contiene muchos archivos que queremos ignorar).

Ahora puede conectar este repositorio de git a cualquier otro git como GitHub, BitBucket, etc.en git bash (fuera de Visual Studio).

Comienzo la sesión de Git Bash ahora en este directorio de trabajo y, dado que uso BitBucket, sigo las instrucciones que se dan allí (solo copie las líneas a continuación desde allí).

git remoto agregar origen https: //yourusername@bitbucket.org/yourusername/hookdemo.git

git push -u maestro de origen

Eso es.

Luego, puede administrar el repositorio en la línea de comandos de git ya que está configurado correctamente ahora.

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.