Como subir un proyecto local a github.


GitHub es una plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de ordenador. El software que opera GitHub fue escrito en Ruby on Rails. Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc. Anteriormente era conocida como Logical Awesome LLC. El código de los proyectos alojados en GitHub se almacena típicamente de forma pública.

El 4 de junio de 2018 Microsoft compró GitHub por la cantidad de 7500 millones de dólares,​ al inicio el cambio de propietario generó preocupaciones y la salida de algunos proyectos de este repositorio, sin embargo no fueron representativos. GitHub continúa siendo la plataforma más importante de colaboración para proyectos Open Source

Para subir un proyecto en Github hay al menos dos maneras de hacerlo

  • Desde el interfaz grafico de la web de github
  • Desde linea de comandos

Crear un prooyecto desde la web de Github

Creamos un nuevo repositorio en https://github.com. Le damos nombre, descripción, seleccionamos si va a ser un proyecto publico o privado si es el caso, y dejamos el check de crear README sin marcar. Le damos a crear repositorio y con esto ya tenemos el repositorio donde alojaremos nuestro proyecto.

Crear un proyecto desde la terminal del equipo donde esta el proyecto que queremos subir a github

Nos vamos a la carpeta del proyecto y ejecutamos estos comandos.

git init

git add .

git commit -m "first commit"

git remote add origin https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git

git push -u origin master

Algunos trucos que nos pueden ayudar

  • Para eliminar ficheros al hacer push en vez degit add .usar
    git add -u
  • para deshacer un git add .
    git reset
    si seguido de git commit ...
    git reset HEAD~
  • Para deshacer varios commit locales que no han sido pushedados:
    git reset --hard <codigo del commit>
    Para obtener el codigo hacer:
    git log
    Para salir del log pulsa q

Pequeño tutorial cortesia de volta2016 para uso en terminales linux

CONFIGURACIÓN PROYECTO CON GIT

*Siempre al empezar un proyecto primero primero inspecciono los elementos :
ls
Luego cd Desktop – y me ubico en la carpeta del proyecto en la cual voy a trabajar
git —version
git config —global user.name “Volta”
git config —global user.email “[email protected]

$ git –version

                $ git config --global user.name "TU NOMBRE"

                $ git config --global user.email "TU CORREO DE GITHUB"

                $ git config --global --list

                $ git help [comando a buscar]

*Siempre al empezar un proyecto primero primero inspecciono los elementos :
ls
Luego cd Desktop – y me ubico en la carpeta del proyecto en la cual voy a trabajar
Una vez ubicado en el Desktop inspecciono la carpeta del proyecto
cd proyecto web

*clear es para ir borrando todo
git add -A
Primer commit git commit -m “archivos de proyecto instalados
Git log : me muestra Historial del proyecto con los datos del usuario

*Una vez comienzo a editar con el editor de texto puede ser “sublime o atom”
Aplico git status para ver que cambio hay, en que archivo y puedo comentar directamente
git commit–m “cambios de footer”
puedo preparar un archivo con git add “nombre del archivo
git commit “nombre del archivo” —amend

  1. git init -> crea el repositorio en local que es un directorio .git que contiene todo el historial
  2. git status ->para ver que esta en el repo y que no
  3. git add [archivos] -> stagin area, preparar lo que sera el commit
  4. git add –A ->alista todos los archivos para el commit (agrega todos los archivos de golpe)
  5. git commit–m «que es estecommit» -> crea el commit y queda agregado al historial del repo

Git y git hub
cd para llamar la carpeta
Ls para ver la lista
Git ini para comenzar

  • git help te muestra como funciona los parapeto es un parámetro
  • git help commit

git config –list para revisar listado
git help add commit

  1. git init –> crea el repositorio en local que es un directorio .git que contiene todo el historial
  2. git status ->para ver que esta en el repo y que no
  3. git add [archivos] -> stagin area, preparar lo que sera el commit
  4. git add -A ->alista todos los archivos para el commit
  5. git commit–m «que es estecommit» -> crea el commit y queda agregado al historial del repo

*git status te muestra en rojo los cambios del código en el html

git status te muestra que archivos puedes ir guardando
git add -A lista todo los archivos
git log
git superlog

RAMAS
git commit -am “commit nuevo” rama experimental

BORRAR
git reset borra todo el proyecto
git reset —hard “mas el ID del commit de ahi hacia arriba borra todo, si borro de arriba hacia bajo vuelve a los commit anteriores, si borro de abajo hacia arriba borra todo ejemplo ultimo de ID “
git add -A guardar
git commit -m “123”
git log

git reset mix recopila todos recopilo todos los commit y el e iguala el repositorio con el standing area
Y en vez de tener 3 commit creado recopila todo en 1

git reset soft hace cambio solo en repositorio pero iguala el standing con el working siempre se trabaja con el commit base git rest commit directamente el mix hay preparar los archivos para los commit en soft están todos los archivos preparados para el comino

git checkout viaja en ele tiempo pegas el commit ID

[email protected]
git init crear nuestro primer repositorio

git add subir uno a uno al work staging area git add – nombre del archivo

CUANDO REALIZO CAMBIOS en el html
git status

Giovannis-MBP:platzigit-master volta$ git status
On branch master
Changes not staged for commit:
(use "git add …" to update what will be committed)
(use "git checkout -- …" to discard changes in working directory)
modified:   index.html
no changes added to commit (use "git add" and/or "git commit -a")
Giovannis-MBP:platzigit-master volta$

Al cambio del index.html realizado o pagina x .html debemos agregar los siguientes después de darle git status
para integración básica
git add index.html
git commit -m “cambios Nombre y descripción”

git log ” te permite ver el nombre del la carpeta del proyecto el autor la fecha de commit y más
Variantes de comando de git log
git log — online te muestra el “sin detalles el commit id con el titulo”
git log — decorate “te muestra en que punto estas con head”
git log —online —graph
git log —stat “numero de linea que se editaron, cuales fueron los cambios a nivel de archivo”
git log -p “muestra los cambios y cuales fueron los cambios a nivel de código”
git shortlog “puedes ver en que esta trabajando cada desarrollador muestra los commit”
git log —prety=format

log –graph –abbrev-commit –decorate –date=relative –format=format:’%C(bold blue)%h%C(reset) – %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)’ –all

GIT HUB AVANZADO

cd Desktop , luego ls , cd platzigit-master, ls vemos los archivos .

git config —global alias.superlog
git status
git add -A , agregar todos los archivos
git commit -m “0” agrega todos los archivos

git log para ver los commit
git super log
git checkout -b experimental – “ para crear ramas y entrar en ellas “

PARA AGREGAR COMMIT
Iteración básica es para agregar archivos
archivo 1.txt
git add -A
git commit -m “1”

archivo 2.txt
git add -A
git commit -m “2”

archivo 3.txt
git add -A
git commit -m “3”

RAMAS
para crear una rama
1-.git checkout -b “experimental”

git branch “nombre de la rama”

git log para ver las commit ramas y features del master

HEAD ES LA ubicación donde uno esta programando.

Git merge

Para fusionar ramas
git merge experimental

Va a fusionar la rama experimental pero quiero que le coloques un nombre
PULSAR LA TECLA O , UNA VEZ COLOCAS EL NOMBRE ESC :X QUE ES CERRAR Y GUARDAR

PARA VER COMMIT

Luego
git superlog
git log
para restificación de commit de estar seguro y que sea el ultimo
Git commit -am “descripción cambiada” —amend

BORRAR RAMAS

git branch -d experimental

Merge crea un nuevo commit con los cambios de las ramas que estás fusionando.

Rebase se «trae» los cambios de la otra rama (Master) y los fusiona con los suyos.

git branch “para ver las ramas”

FUSIÓN

solucionar el conflicto , con git status vemos el archivo en rojo luego esta en rojo apene hay que subirlo a
Luego git add -A
Git status
Git commit -m “Fusión realizada”

REINICIAR PROYECTO

Entrar a las carpetas ocultas ls -la
La git guarda el proyecto en una carpeta y el registro lo tiene una carpeta llamada .git
Con el siguiente comando puedes eliminarla: rm – rf
ls -la para ver todo el repositorio

git checkout master es para volver atrás de un cambio en alguna rama

git merge “para la fusión” decidir con que titulo queda o modificación
Despues comentas interacción básica fusión ejecutada

se puede hacer un reset –hard
al inicio del proyecto o commit inicial sin tener el id del commit de esta forma:
git fetch origin
git reset –hard origin/master

REBASE

En las fusiones se crea un solo commit
En rebase pasa esto : a-b se colocan antes del commit de master
Por ejemplo si vuelvo mi ejemplo a git checkout master vuelven deprecar los commit de la rama del rebase a – b vuelves atrás “por que master esta en el commit con nombre cuarto” como subirlo:
git merge rama rebase

Ramarebase va acompañado de merge se va atacando de varias formas , cuando trabajas con rebase tienen que hacer “merge” git merge rama rebase
Crear ramas git checkout -b “nombre de la rama”

PARA CLONAR

cd ubico Desktop
git clone y el link en HTTPS. https://github.com/github/gemoji.git

LLAVE SSH RSA COMO ALGORITMO

$ ssh-keygen -t rsa -b 4096 -C «[email de GitHub]»

            Dar enter. Aceptar la localización por defecto.

            Contraseña.

            $ cd  ~/.ssh

            $ cat id_rsa.pub

            Copiamos la llave y la pegamos en Settings > SSH, dentro de GitHub.

Resumen

ssh-keygen -t rsa -b 4096 -C «poner aquí correo electrónico»

cat id_rsa.pub

Pegas el código y vuelvo al escritorio

WORK GITHUB
Creo la carpeta mkdri nombre carpeta
Entro a la carpeta con cd
git init
Agrego el primer archivo: touch 1.txt
git remote add origin “nombre del repositorio remoto

git push origin master
Para retomar proyecto
*desarrollamos
git fetch origin “refresh actualization del remoto”
git merge origin/master
git push origin master

Cued realizas fetch no cae en la rama master “ la local “ si no cae en origin master rama escondida
Luego de placa una fusión : git merge origin/master

PROCESO DE REPOSITORIOS “FORKED”
Pasos en orden

Crear ó entrar a la carpeta del proyecto cd
git init

    git remote add origin [HTTPS ó SSH del proyecto forked]
git remote add upstream [HTTPS ó SSH del proyecto principal]
git fetch upstream
git merge origin/upstream   “como conectamos la rama del repositorio original”
git fetch origin
git merge origin/master
Hacer cambios en local
git fetch upstream.            “Ramas escondidas “
git merge origin/upstream
git push origin master

http://git.miguelnieva.com/#/273

TESTING
Travis-ci.org
https://trello.com/b/EceUgtCL/ghost-roadmap

Extensión inalámbrica casera para el timbre de casa


Pensemos en personas de cierta edad  o simplemente personas que normalmente hacen su vida en alguna habitación de su vivienda que esta alejadas donde se encuentra el timbre de la puerta de acceso de la vivienda

Por ejemplo pensemos también que   esas personas están escuchando a un volumen alto la radio, su reproductor musical o simplemente están viendo la TV a un volumen alto y  suena el timbre de casa: en algunos casos , por no decir en la mayoría de los ocasiones evidentemente no lo van a oír, por lo que se hace necesario de algún modo sencillo  extender el sonido  del timbre de la cocina hasta otra sala sin necesidad de cables por ejemplo con un emisor inalámbrico dentro del timbre de la casa y un receptor-timbre  auxiliar para situarlo  donde más la convenga.

Además, por cierto, esta solución emisor-receptor  inalámbrica que vamos a proponer también es aplicable a los  timbres de los porteros automáticos con llamada zumbador convencionales de entrada a la vivienda compartiendo el receptor   variando únicamente la conexión del transmisor que deberá ser diferente, básicamente porque las  tensiones de disparo son muy diferentes   (220v de los timbre de la casa  frente   a los 8v a 24v de los porteros  automáticos ).   Precisamente esta solución  permite por ejemplo usar  melodías diferentes para  diferenciar  una llamada  de otro  en un mismo receptor, pero cuidado porque esta solución en caso de querer implementarla en un portero automático, NO servirá para sistemas con llamada electrónica aunque si funcionara perfectamente en porteros automáticos con llamada por zumbador si sustituimos la fuente de 220v 5vDC por un sencillo puente de diodos de 24V y un regulador 7805.

Uso en Timbre del Hogar

El conjunto transmisor y timbre inalámbrico se adaptan a la perfección a su cometido de conseguir que el timbre del portero electrónico con llamada por zumbador o el timbre de la vivienda se oigan donde sea necesario (por ejemplo en el comedor, en la terraza, en el dormitorio, etc.).

Observe  que vamos a adaptar  un circuito comercial para una finalidad concreta ( un timbre de casa inalámbrico) para conectarlo al timbre de acceso a nuestra vivienda y por tanto que se alimenta de la red de c.a.  de 220V por lo que debe extremar las precauciones

Como base vamos a usar un modulo recptor/emisor de buena relacion calidad precio modelo Electra Line 59199 de Timbre inalámbrico Timbre de Puerta, con Enchufe 10 A, 36 melodías Ajustable, Blanco que podemos comprar por unos 14€

Estas son algunas de las características:

  • Wireless.
  • Con el enchufe 10A.
  • 36 melodías ajustables.
  • 80 metros de alcance.
  • Incluyendo las baterías.

En el caso de necesitar extender el timbre de la vivienda vamos a necesitar reducir la tensión del timbre 220V AC en unos 5V DC para hacer funcionar el transmisor, el cual esta alimentado en origen con una pila compacta de 12V.

Obviamente al alimentar el emisor no basta para activar la señal que envía el transmisor, por lo que para que al alimentarlo envíe dicha señal, cortocircuitaremos los contactos del pulsador para que se ponga el trasmisor inmediatamente a enviar la señal de llamada en cuanto este alimentado el circuito emisor.

Empezaremos desmontado cualquier fuente conmutada de 220V/ 5V de las usadas para los cargadores USB dado que prescindiremos del enchufe al ir conectado estos hilos en paralelo con las conexiones del timbre, por lo que precisamente soldaremos un para de hilos justo en esas dos conexiones ( donde harían contacto los extremos del enchufe de AC)

Seguidamente dejaremos el capuchón frontal para proteger la electrónica, y cubriremos por ejemplo con cinta americana el lado opuesto de la placa para evitar cualquier contacto accidental con este

Ahora toca modificar el emisor para alimentarlo directamente con la fuente que hemos preparado soldando directamente los dos hilos de salida de 5v DC a los correspondientes del emisor ( cuidado no confundir los hilos pues quemaríamos el circuito)

Como toque interesante para ayudar la descarga de la fuente una vez haya dejado de pulsarse el timbre, podemos conectar una carga de 4 leds rojos en serie para intentar cortar el transmisor en cuanto se haya dejado de alimentar este

Otro aspecto a destacar, son los hilos del pulsador que deberemos cortocircuitar para activar la emisión ( hilos blanco y naranja en la imagen).

Solo nos queda colocar ambos componentes en el interior del timbre de la forma mas compacta posible , eso si aislando muy bien ambos componentes por ejemplo con cinta americana

Y una vez ubicadas ambas partes en el interior del timbre solo queda conectar los hilos de la fuente en paralelo con las conexiones AC del timbre ( mucho cuidado con los contactos accidentales pues podemos tener prsente uan fase aunque no se haya pulsado el timbre )

Finalmente un opción si no hay demasiado espacio es ubicar la fuente en el interior del timbre y el emisor fuera en un lateral

Uso en un portero automático

Vamos a describir para usar esta misma idea en un portero automático con llamada por zumbador, En efecto conseguiremos tener un segundo tono de llamada por ejemplo en un Urmet 1130. Sólo necesitamos desoldar la batería y el switch que se pasara por alto cortocircuitamos sus terminales como hemos hecho en la solución anteior.

En la imagen vemos el pequeño emisor que introduciremos en el telefonillo o en el propio timbre .  En este caso, los cables negro y azul se conectarán en paralelo con el timbre mecánico.  El cable blanco es para la antena emisora  que lógicamente, no se conecta a ningún sitio.

Respecto al resto de la electrónica montaremos un puente de diodos de 24V AC y 12DC, un pequeño regulador de tensión ( por ejemplo un 7805) a la salida DC del puente .