Repositorio

Despúes de validar la cuenta e ingresar los passwords en http://gfif.udea.edu.co//idf(external link)
  • siga el link de "Project List", identifique e ingrese en proyecto del tipo "MSC10-usuario", donde usuario es el nombre de usuario que haya escogido
  • Ingrese en la Pestaña "Source" -> "How To Get The Code"
    • Cree una copia local del repositorio
      git clone git@gfif.udea.edu.co:msc10-comun.git
    • Siga el link "provide your SSH key"
    • A este nivel solo tiene que diligenciar el campo "Your public SSH". Para ello ejecute en la terminal de línea de comandos de su equipo el comando (Pulsando la tecla <Enter> en todas las preguntas):
      cd ~/.ssh 
      ssh-keygen -t rsa
      cat id_rsa_msc10.pub
    • Copie y pegue en el campo correspondiente
    • Espere hasta una hora para que el programa actualize el sistema de claves
    • Si después de esperar suficiente tiempo el sistema le sigue pidiendo el password escribanos para hacer la actualización de las claves manualmente.
  • Siga las demás instrucciones de la página para hacer el primer commit al repositorio DENTRO DEL DIRECTORIO (carpeta) que van a subir al repositorio:
    git init
    git add .
    git commit -m "initial import"
    git remote add origin git@gfif.udea.edu.co:msc10-juanvaldez.git
    git push origin master


Para usar git (sudo apt-get install git-core) se recomienda mirar los tutoriales disponibles en internet, por ejemplo este(external link). Algunos comandos útiles:

  • Para enviar un cambio a uno o más archivos
    git commit -a
    git push origin master
    donde el último comando envía los cambios al servidor especificado en .git/config

  • Para añadir un nuevo archivo al repositorio creado
    git add nuevo_archivo.py 
    git commit -m 'nuevo archivo'
    git push origin master

  • Para actualizar en su copia local del repositorio los cambios hechos por otros al respositorio principal, use
    git pull

  • Para administrar localmente su repositorio desde un entorno gráfico puede usar (sudo apt-get install qgit):
    qgit .

  • Ciclo de trabajo corto:
    #0. Bajarse el repositorio por primera vez desde el server:
     git clone git:__server-info___
    
     #0. cambiarse al directorio del repositorio creado:
     cd newrepo
    
     #1. modificar los archivos necesarios
     #1.1 Añanadir los archivos necesarios
     git add new_file
    
     #2. implementar localmente los cambios:
     git commit -a -m"mensaje"
    
     #3. subir los cambios de nuevo al server:
     git push origin master
    
     #Tiempo después....
     #Traer los cambios del server
     git pull
     #verficar cambios en el server
     git log
    
    
     #repetir los pasos 1.-3.

  • Ciclo de trabajo "profesional". Asumiendo que ya se tiene el repositorio local clonado
    #1. Listar las ramas existentes:
     git branch -a
     #2. cree su rama de trabajo para no estar tocando la rama "main":
     git branch bname
     #2. Cambiarse a la rama bname:
     git ckeckout bname
     #3.1 muestra en que rama está:
     git status 
     #3.2 Sincronize con la rama master:
     git merge master 
     #4. Implementa los cambios localmente:
     git commit -a -m"mensaje"
     #5. Envía los cambios al server:
     git push origin bname 
     #5.1 Repita 4., 5. las veces que necesite 
     #6. Actualización de la rama principal
     #6.1 informe de actualización desde el server:
     git remote update 
     #6.2 aplique actualización desde el server:
     git pull origin master
     #6.3 Cambie al branch principal
     git checkout master
     #6.3 Aplique los cambios al master localmente:
     git merge bname
     #6.4 Aplique el merge al server:
     git push origin master
     #7. Espere cambios por otros usuarios
     #7.1 Obtenga los cambios de otros usuarios:
     git pull
     #7.2 Repita los pasos 2. a 7. las veces que se requiera.  
     #8. Resolver conflictos
     #8.1 Ver lista de commits:
     git log
     #8.2 Devolverse a un commit (WARNING: data lost):
     git reset --hard #log
     #9. Borrar la rama:
     git branch -d bname




El documento original está disponible en https://clustercien.udea.edu.co/web/tiki-index.php?page=Repositorio