Categorías
Version Control

Github: agregue directorio / archivos locales al repositorio remoto de Github

Github es un repositorio de código social más popular. Es la tendencia a ser usuario, al menos es cierto por ahora.

Hay muchos problemas que podemos encontrar, la mayoría de ellos se pueden resolver leyendo la documentación. Pero eso no es rápido ni es algo que nos guste hacer.

Problema 1: git commit

Un problema común es el de confirmar un directorio existente en github. Después de escribir «git commit», se muestra el siguiente mensaje y esos archivos no se muestran en el sitio web de gitbub.

[email protected]: ~ / Escritorio / Patrones de diseño $ git commit
# En el maestro de la sucursal
# Archivos sin seguimiento:
# (use «git add … «para incluir en lo que se va a comprometer)
#
# README ~
no se agregó nada para confirmar, pero los archivos sin seguimiento están presentes (use «git add» para realizar el seguimiento)

Solución:

En git, una confirmación es una operación local que no afecta al repositorio remoto. A diferencia de la confirmación en CVS / SVN, no aparecerá nada en github después de «git commit». Un empujón es lo que envía sus confirmaciones al repositorio remoto.

Problema 2: git agrega un directorio vacío

Después de ingresar «git add dir_name» y enviarlo al repositorio remoto, el directorio vacío no se muestra en el sitio web de github.

Solución:

El problema es que no podemos agregar directorios vacíos a un proyecto. El comando «agregar» funciona solo para archivos y agregará automáticamente el directorio en el que se encuentra el archivo si el directorio no está ya allí.

Categorías
Version Control

¿Cómo funciona CVS? Un ejemplo de colaboración en equipo en Eclipse

Puede usar CVS a diario para su programa, pero nunca toque la parte de colaboración. De hecho, esa es la parte más emocionante. En este tutorial, primero explicaré brevemente los conceptos de troncal, rama y etiquetas. Y luego use un ejemplo real de colaboración en equipo para demostrar cómo funciona cvs.

¿Cómo funciona CVS?

En primer lugar, debemos comprender qué son el tronco, la rama y las etiquetas.

Trunk es la versión principal de un proyecto. Hay un solo tronco para cada repositorio de CVS.
La rama puede ser múltiple, es decir, cualquier desarrollador autorizado puede crear una rama y trabajar en la rama.
Las etiquetas se utilizan para etiquetar varios archivos en diferentes versiones. (Por ejemplo, en el proyecto siguiente, Main.java se cambia con frecuencia, pero Dog.java no cambia) Al usar una etiqueta, podemos marcar archivos en diferentes versiones en una etiqueta.

Un ejemplo de colaboración en Eclipse

En este ejemplo, Mike creó un proyecto bajo eclipse y luego lo compartió en el repositorio de CVS. (Clic derecho -> Equipo -> Compartir proyecto)

cvs-troncal-rama

Entonces Alice verificó el proyecto usando un nombre de proyecto diferente («CollaborationBranch»), y creó una rama en «CollaborationBranch» haciendo clic derecho-> Equipo-> Rama y nombrando la nueva rama como Col_1_1.
cvs-branch

Ahora Mike trabaja en el tronco y Alice trabaja en la rama. Cada vez que Mike y Alice confirman un cambio, el cambio se confirmará en su propia Troncal / Rama. No hay interferencia entre esas dos versiones. El tronco y la rama son totalmente independientes.

Después de un tiempo, Alice quiere fusionar algunos cambios que Mike ha realizado en el tronco. Porque el tronco puede cambiar algo relevante para su propia rama. Por lo tanto, es una buena idea que Mike etiquete la versión actual, para que Alice pueda saber qué versión fusionar solo con mirar la etiqueta. Entonces Mike crea una etiqueta llamada «Tag_1_2». (haga clic con el botón derecho en el proyecto -> Equipo -> Etiquetar como versión) El nombre de la etiqueta significa que el tronco está en la versión 1.2.

Ahora Alice puede fusionar los cambios realizados en el tronco (haga clic con el botón derecho en el proyecto -> Equipo -> Fusionar) y obtendrá la siguiente ventana.

End Tag es la etiqueta que desea fusionar, es decir, Tag_1_2 que es creada por Mike.

La etiqueta de inicio es la raíz común para el tronco y la rama, donde se crea la rama originalmente.

Luego, Eclipse mostrará la siguiente ventana para comparar y fusionar.

Ahora Alice entiende lo que Mike ha hecho con Trunk. Ambos continúan trabajando de manera independiente nuevamente.

Finalmente, todas las ramas deben fusionarse con el Trunk, ya que normalmente solo hay una versión final de un proyecto. Así que ahora Mike tiene que fusionar lo que Alice le ha hecho al Tronco principal. Con el mismo enfoque, Mike usa la siguiente ventana de comparación para fusionar y cambiar de sucursal.

Categorías
Version Control

¿Compartir un proyecto de Eclipse en GitHub en 2 pasos?

Si tiene un proyecto en su espacio de trabajo de eclipse y desea compartirlo en GitHub, ¿cómo hacerlo? ¡Muy simple!

Suponiendo que ya registró una cuenta de GitHub y ya instaló git en su computadora, puede compartir sus proyectos de eclipse en GitHub en 2 sencillos pasos.

Nota: El siguiente enfoque funciona para Mac, Linux y Windows (suponiendo que haya instalado cygwin en su Windows). Si usa BigBucket en lugar de Github, ¡es exactamente lo mismo!

Paso 1: crea un nuevo repositorio en GitHub

El botón está ubicado en la esquina superior derecha:

Haga clic en el botón verde y verá la siguiente página:

github-crear-un-repositorio

Puede ingresar solo el nombre del repositorio, por ejemplo, «face-collage-maker», y dejar los demás como predeterminados.

Paso 2: ejecuta las siguientes líneas de comando

En tu ordenador, cd al directorio de su proyecto en el espacio de trabajo de eclipse, y luego escriba las siguientes líneas de comando una por una.

$ git init

El comando «init» inicia un nuevo repositorio de git en el directorio del proyecto.

Cuando haya terminado, debe registrar el nuevo repositorio con un control remoto (donde cargará, empujará, sus archivos). En este caso, el control remoto es Github. Deberá obtener la URL correcta para su repositorio en GitHub.

Escriba la línea de comando:

$ git remote add origin https://github.com/[username]/[reponame].git

En mi caso es [username] es «ryanlr» y [reponame] es «creador de collage de caras». Entonces la URL es «git remote add origin https://github.com/ryanlr/face-collage-maker.git»

Ahora, agregue todos los archivos a su confirmación local:

$ git add .   # this adds all the files

Luego haz una confirmación inicial:

$ git commit -a -m "Initial commit" 

Esto prepara sus archivos localmente para su confirmación, pero en realidad NO se han enviado todavía. Ha creado una confirmación en su repositorio local, pero no en el remoto. Para ponerlo en el control remoto, haz lo siguiente:

$ git push -u origin --all

Líneas de comando adicionales de uso común

Eliminar archivos:

git rm file1.txt
git commit -m "remove file1.txt"

Cometer cambios:

git add file
git commit -a

Luego «git push» para enviar al repositorio.

Si el repositorio en el control remoto no está vacío, debe hacer «git pull origin master», antes de presionar cualquier cosa.

Enlaces útiles

1. Generando claves SSH
2. Agregar un proyecto existente a GitHub usando la línea de comando