IDE y CVS

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Algunos atajo de teclado que de netBeans en español.

ATAJO TECLADO DESCRIPCION
Control + K Autocompletar
Control + Espacio Sugerencias
Control + B Ir a la declaración de la función / método / clase
Shift + Suprimir Cortar línea actual
Control + E Borrar línea actual
Control + Shift + Flecha Arriba/Abajo Copiar línea actual Arriba/Abajo
Control + P Muestra los parámetros que la función o método
Control + Shift + C Comentar líneas
Alt + Insert Generar código

fuentes:

  1. http://tecnato.com/teclas-calientes-o-atajos-del-teclado-en-netbeans/
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Muchos de vosotros ya sabeis que soy una amante geany, por eso os pongo como podemos prepararlo para que reconozca less.

Lo primero cambiar el fichero de configuracion de geany y añadirle que reconozca less como css.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

GIT DIFF

DEFINICIÓN:

Muestra los cambios en los ficheros en cualquier momento y desde donde queramos de la linea tiempo del árbol de trabajo de git. Con esto queremos decir que nos indica todos los cambios realizados sobre los archivos que pertenecen al repositorio.

Si te estas iniciando en Git puedes ver nuesta pequeña guia de git.

SINOPSIS

git diff [options] [<commit>] [--] [<path>…​]
git diff [options] --cached [<commit>] [--] [<path>…​]
git diff [options] <commit> <commit> [--] [<path>…​]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>

OPCIONES:

git diff [--options] [--] [ ...]

Con el anterior esquema podemos ver los cambios que han realizado en relación con el índice (zona de espera para la próxima confirmación). En definitiva, ver las diferencias, pero no solo las que esperan confirmación sino con otros puntos, branch o incluso con repositorio remotos.

Ejemplos

Pondremos ejemplos prácticos.

Ver cambios que acabamos de realizar en un fichero

En nuestro repositorio tenemos index.php y queremos ver los cambios que hemos realizado que aun no los comitamos, tampoco los preparados para comitear.

git diff --index.php

Nos muestra por la terminal los cambios que realizamos en ese fichero con respecto al HEAD de nuestro repositorio local.

Ver cambios de un fichero cuando ya lo añadimos (add) y esta preparado para commit.

La instrucción en este caso tenemos que ponerle la opción --cached

git diff --cached index.php

 

Ver cambios en un fichero con respecto a otra rama

Si tenemos dos ramas en repositorio local, una desarrollo y otra producción, entonces queremos saber que cambios realizamos en un fichero determinado de la rama de desarrollo con respecto a producción.

git diff RamaDesarrollo RamaProduccion --/rutaFichero

Nos muestra por terminal la diferencia de los ficheros.

Ver que ficheros cambiaron entre esas ramas.

Es similar a lo anterior, aunque esta vez, lo que pretendemos es que nos liste solo los ficheros que cambiaron entre las dos ramas, sin ver los cambios.

git diff --name-status RamaDesarrollo RamaProduccion

Nos va indicar aquellos modificados (M) , añadidos (A) o incluso aquellos movidos...  Rnumero.. pero no estoy seguro... :-)

Los cambios en permisos de ficheros en git diff podemos indicar de verlo o no

Cuando cambiamos permisos a un fichero dentro un repositorio git este detecta que se cambio y lo marca como modificado. Al hacer git diff, nos indica los permisos que tenía y que tiene ahora.

Esto puede ser muy buenos para controlar que no nos cambien los permisos de nuestro proyecto si nuestro control.Aunque también se puede convertir en un incordió, si trabajamos en varios servidores que necesitan mas permisos de los habituales para que funcione nuestro proyecto.

Nuestros crack en Git ( @Guillermo ) no pasa el siguiente comando para git dif no muestre esos ficheros.

git diff --summary master | grep -v 'mode change'

El comando grep lo que hace es descartar 'mode change', de esta forma ya no tiene en cuenta los cambios de permisos.

 Me marca todos los saltos linea y final de carro como diferencias.

Si en proyecto trabajas con windows y linux a la vez, los saltos de carro pueden se un incordio, ya que windows siempre marca un salto de carro al pulsar intro y saltar una linea, y linux no lo hace, por este motivo git diff no va decir que tenemos diferencias en todo el fichero.

Al hacer git diff del fichero, no sabemos porque hay diferencias, ya marca borrado todo el fichero y en verde todo el fichero, debemos buscar en nuestro editor, que nos marque los saltos de carro, para ver esas diferencias.

Una forma  rapida de ver los saltos de carros con la instrucción :

cat -A fichero

Nos muestra el salto de carro.

Diffuse como otro editor para ver diferencias en git.

En git hay una instrucción y se puede configurar para que podamos utilizar otro editor y ver la diferencia de una forma mas grafica.

Nosotros por ejemplo utilizamos diffuse, pero no hace falta cambiar nada en git, simplemente utilizar la consola.

diffuse fichero

Si el fichero fue cambiado y no fue añadido a commitear, ya nos habré las dos versiones.

Si ya añadimos entonces tenemos que poner:

diffuse -r fichero

Y si por ejemplo queremos mostrar la diferencia entre rama

diffuse -r rama fichero

Realmente a veces una forma grafica puede ser comoda, para encontrar diferencia en codigo.

 

 

Recomendable por -- para separar los parámetros de los ficheros

Fuentes

 Principalmente de http://git-scm.com/docs/git-diff

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

GITHUB: Plataforma desarrollo

Es una plataforma de desarrollo colaborativo sobretodo para aquellos que utilizamos GIT, os recuerdo que GITHUB gratuito y tiene opciones de pago. Ante de que lo comprara por Microsoft en 2018, en esta plataforma solo te permitia subir proyectos con codigo abierto y publico, los privados era de pago. Ahora la parece que te permite tener de pago, pero no se cuales son lar premisas para que tengas que pagar.

Documentación de GitHub oficial en ingles.

 ¿ Lo primero que hacer en GitHub ?

Identificarte ( loguearse )  en la web github con tu usuario y contraseña, si no tiene crear una cuenta, son bastante respectuoso con tu cuenta email y no te molestan con emails.

Como empezar un proyecto ( REPOSITORIO) en Github

Una vez identificado, simplemente pulsa en crea nuevo repositorio, aunque primero tendría que tener claro:

  • Repositorio nuevo: Nuestro propio proyecto
    • NO TENEMOS UN REPOSITORIO LOCAL CREADO.
    • TIENE UN REPOSITORIO LOCAL CREADO
  • FORK de repositorio de otro usuario: Queremos trabajar en un proyecto de otro usuario de github
    • VER DIFERENCIAS ENTRE FORK Y EL REPOSITORIO ORIGINAL

REPOSITORIO NUEVO DE UN PROYECTO.

 El Repositorio nuevo podemos crearlo directamente desde la interfa de GITHUB , en la siguiente opcion:

"Initialize this repository with a README" , si lo marcamos con [si] o [no]

Github2

 [si] -> Si vamos hacer un git clone (vacío)
 [no]-> Si ya tiene git init en tu proyecto y quieres enviar todos tus commits.

A la hora querer crear un repositorio nuevo en Github puede surgir varias situaciones:

  • NO TENEMOS UN REPOSITORIO LOCAL CREADO : Si aun no tiene repositorios local creado , si no tienes codigo aun generado, pues la opción opción [si]
  • TIENE UN REPOSITORIO LOCAL CREADO opción [no]: Si ya tienes codigo generado y quieres subirlo, lo primero es saber si tienes un repositorios local con git, sino tendras iniciarlo con git init , ya que esta opcion es la que te permite compartir tu repositorio local en GITHUB, con los commits que ya realizaste. (compartir tu repositorio local completamente ).

 Explicamos las dos situaciones.

NO TENEMOS UN REPOSITORIO LOCAL CREADO.

Si no tenemos o no queremos subir los comits de un repositorio local y pulsamos [si] en "Initialize this repository with a README" a la hora crear el REPOSITORIO EN GIHUB una forma sencilla sería, nos  indica los pasos a crear el repositorios local.

Nos situamos en le directorio raiz donde creemos crea nuestro repositorio local, con la siguiente instrucción nos crea el repositorio en local,creando un directorio con el nombre del repositorio que acamos de crear en GITHUB.

git clone https://  #que nos indica el repositorio github recien creado.

Entonces crea una directorio con el nombre del proyecto ( que estará vacio), solo con fichero README y con un directorio oculto .git , pero ya configurado la conexion con el remoto (GITHUB) como origin.

A partir ahí, ya podemos añadir nuestro código en ese directorio y empezar commitar ...

git commit -m "Inicio en servidor local"

Una vez tengamos tengamos comitado en nuestro repositorio local, ya podemos enviar al repositorio REMOTO de github con la instrucción git push.

git push origin

Todo ha ido correcto y te pedirá [usuario] y [contraseña] de Github para subir tu repositorio local con nuestro comits al repositorio remoto de GITHUB.

 

TIENE UN REPOSITORIO LOCAL CREADO

Al tener un repositorio local creado para poder enviarlo a un REPOSITORIO REMOTO con todos los commits, a un repositorios REMOTO creado en GIHUB sin haber marcado [no] "Iniciatize this repository with a Readme".

Lo que debe hacer es indicar a tu repositorio local la dirección del repositorio remoto (vacio) que acaba de crear, con la siguiente instrucción:

git remote add origin https://urldelrepositorionuevo 

- nos pondrá la url en remote origin.....

Si fue todo correcto, nos queda hacer push origin ,aunque con par de parametros más:

push origin --force

Instrucción que parece bastante peligrosa utilizar, según veo la red. (link)

Nos pedirá [usuario ] y  [ contraseña] de repositorio remote, luego añade el repositorio local en el repositorio remote.

Te en cuenta que todos los commits de nuestro REPOSITORIO LOCAL. Apartir de es primer push, ya el resto no necesitamos utilizar la opción --force.

 COMO TRABAJAR EN COLABORACIÓN:

Se podría hacer directamente desde el repositorio del usuario, pero los cambios que realicemos no podremos enviarlo sin que el usuario nos de acceso a su REPOSITORIO REMOTO, cosa que dudo, salvo que haya mucha confianza entre vosotros.

HACER UN FORK DE REPOSITORIO DE OTRO USUARIO:

Si lo queremos es realizar cambien en un proyecto de otro usuario, lo ideal es hacer FORK en GITHUB , ya que asi podemos realizar un pull requests al CREADOR y este mezclarlo con el suyo si le interesa nuestros campos

 Realizar un FORK en GITHUB es tan sencillo como pulsando FORK desde el repositorio queremos.

Una vez realizado FORK , en nuestro nuevo repositorio simplemente tenemos clonar el repositorio a local como indicamos en apartado anterior, sin volver a crearlo claro.

git clone https://  #que nos indica el repositorio remote que hicimos fork.

 Recuerda que la dirección sera algo así: gihub.com/tuusuario/nombrerepositorio

A partir ahí tenemos el repositorio con los commits que haya hasta ahora.

Si realizamos cambios y queremos trabajaremos en nuestro repositorio (FORK) sin entorpecer al usuario u organizacion del proyecto original.

Una vez queramos enviarle o recomendarle un cambio al usuario o organización podemos realizarlo con un push request, donde el usuario o organización decidirá si quiere los aplicar los cambios o  no.

Una vez lo acepten a ti llegará una notificación que fue aceptado o rechazado.

MANTENER AL DIA NUESTRO FORK

Si mantener al dia nuestro fork y actualizado con el repositorio original, si queremos ver las diferencias entre uno u otro.

Lo primero que debemos hacer es crear una conexion al REPOSITORIO ORIGINAL ( el que hicimos el fork) es muy sencillo con la instrucción:

git remote add nombreconexion http://ruta repositorio original

En nombre conexión podremos el queramos, menos origin, ya origin por normalmente ya lo utilizamos con anterioridad al realizar conexion al fork.

NOTA: Al hacer un fork en gihub , al hacer remote add , ya sabe cual la direccion del del repositorio original, sino lo hubieramos hecho un fork , ya sería otro cantar... :-) , por lo que no sería necesario poner la ruta.

Con la siguiente instrucción vemos las conexiones remotas que tenemos en nuestro repositorio local. Instruccion para ver conexiones remotas:

git branch -a

Nos mostrará las conexiones que tenemos creadas, algo así:

* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/nombreconexion/master

Luego simplemente ya podemos utilizar instrucciones git para ver log, differencias que hay en el repositorio original ( del que hizimos el fork).

 Ejemplo de instrucciones a utilizar:

git log nombreconexion/master
git diff nombreconexion/master

Te en cuenta que esto solo vemos las diferencias que hay en el momento de realizar la conexión, si ya paso tiempo, debes actualizar esos datos de la conexión.

Si quieres actualizar ese repositorio con las siguiente instrucción:

git fetch nombreconexion

Entonces ya tiene actualizado el REPOSITORIO REMOTO que le indicaste y ya puede ver los logs o differencias hay.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Instalación de Git en los distintos sistemas operativos

Es tan fácil instalar en linux desde terminal que da mucha pereza instalar de otra forma.

$ apt-get install git

Si necesitas que os explique con instalar en otros sistemas operativos, me dices o mira esta lista links sobre git que vamos apuntando, puede alguien ya lo haya hecho.

Git es un motor de sistema control de versiones distribuido, el cual en los repositorios locales tienes una copia total del histórico, que luego puede ser distribuido en repositorios remotos.

Inicializar repositorio local