{"id":298,"date":"2018-04-26T04:12:06","date_gmt":"2018-04-26T04:12:06","guid":{"rendered":"https:\/\/blog.hassler.ec\/wp\/?p=298"},"modified":"2018-04-26T04:15:53","modified_gmt":"2018-04-26T04:15:53","slug":"git","status":"publish","type":"post","link":"https:\/\/blog.hassler.ec\/wp\/2018\/04\/26\/git\/","title":{"rendered":"git"},"content":{"rendered":"<div dir=\"ltr\">\n<p class=\"separator\" data-blogger-escaped-style=\"clear: both; text-align: center;\"><a href=\"https:\/\/1.bp.blogspot.com\/-yXRGnM6jS7Y\/WrXIJ4YKG0I\/AAAAAAAAYgY\/YTzO-mwqztsIN5vH_us4atnW7aFvEHfSACLcBGAs\/s1600\/200px-Git-logo.svg.png\" data-blogger-escaped-style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-yXRGnM6jS7Y\/WrXIJ4YKG0I\/AAAAAAAAYgY\/YTzO-mwqztsIN5vH_us4atnW7aFvEHfSACLcBGAs\/s200\/200px-Git-logo.svg.png\" width=\"200\" height=\"84\" border=\"0\" data-blogger-escaped-data-original-height=\"84\" data-blogger-escaped-data-original-width=\"200\" \/><\/a><\/p>\n<p><b>GIT\u00a0<\/b>es un software de control de versiones dise\u00f1ado por\u00a0<b>Linus Torvalds<\/b>, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando \u00e9stas tienen un gran n\u00famero de archivos de c\u00f3digo fuente. Su prop\u00f3sito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.<\/p>\n<\/div>\n<div dir=\"ltr\">\n<p><b>Linus Torvalds<\/b><b>\u00a0<\/b>se por que lo invent\u00f3 ya que trabaje sin esta herramienta y es un problema.<\/p>\n<\/div>\n<div dir=\"ltr\"><\/div>\n<div dir=\"ltr\">\n<p>Como pude trabajar sin esta herramienta<\/p>\n<\/div>\n<div dir=\"ltr\">\n<div dir=\"ltr\" data-blogger-escaped-style=\"-webkit-text-stroke-width: 0px; color: black; font-family: &quot;Times New Roman&quot;; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;\"><\/div>\n<div dir=\"ltr\" data-blogger-escaped-style=\"-webkit-text-stroke-width: 0px; color: black; font-family: &quot;Times New Roman&quot;; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;\">\n<div data-blogger-escaped-style=\"margin: 0px;\">\n<p><b>Resumen Express de Comandos GIT<\/b><\/p>\n<\/div>\n<\/div>\n<p><b>git fetch:<\/b><\/p>\n<p>Descarga los cambios realizados en el repositorio remoto.<\/p>\n<p><b><br \/>\n<\/b><b>git merge\u00a0:<\/b><\/p>\n<p>Impacta en la rama en la que te encuentras parado, los cambios realizados en la rama \u201cnombre_rama\u201d.<\/p>\n<p><b><br \/>\n<\/b><b>git pull:<\/b><\/p>\n<p>Unifica los comandos fetch y merge en un \u00fanico comando.<\/p>\n<p><b><br \/>\n<\/b><b>git commit -am \u00ab\u00bb:<\/b><\/p>\n<p>Confirma los cambios realizados. El \u201cmensaje\u201d generalmente se usa para asociar al commit una breve descripci\u00f3n de los cambios realizados.<\/p>\n<p><b>git push origin\u00a0:<\/b><\/p>\n<p>Sube la rama \u201cnombre_rama\u201d al servidor remoto.<\/p>\n<p><b>git status:<\/b><\/p>\n<p>Muestra el estado actual de la rama, como los cambios que hay sin commitear.<\/p>\n<p><b>git add\u00a0:<\/b><\/p>\n<p>Comienza a trackear el archivo \u201cnombre_archivo\u201d.<\/p>\n<p>yo realizo lo siguiente para agregar todo:\u00a0 \u00a0<b>git add .<\/b><\/p>\n<p><b>git checkout -b\u00a0:<\/b><\/p>\n<p>Crea una rama a partir de la que te encuentres parado con el nombre \u201cnombre_rama_nueva\u201d, y luego salta sobre la rama nueva, por lo que quedas parado en esta \u00faltima.<\/p>\n<p><b>git checkout -t origin\/:<\/b><\/p>\n<p>Si existe una rama remota de nombre \u201cnombre_rama\u201d, al ejecutar este comando se crea una rama local con el nombre \u201cnombre_rama\u201d para hacer un seguimiento de la rama remota con el mismo nombre.<\/p>\n<p><b>git branch:<\/b><\/p>\n<p>Lista todas las ramas locales.<\/p>\n<p><b>git branch -a:<\/b><\/p>\n<p>Lista todas las ramas locales y remotas.<\/p>\n<p><b>git branch -d\u00a0:<\/b><\/p>\n<p>Elimina la rama local con el nombre \u201cnombre_rama\u201d.<\/p>\n<p><b>git push origin\u00a0:<\/b><\/p>\n<p>Commitea los cambios desde el branch local origin al branch \u201cnombre_rama\u201d.<\/p>\n<p><b>git remote prune origin:<\/b><\/p>\n<p>Actualiza tu repositorio remoto en caso que alg\u00fan otro desarrollador haya eliminado alguna rama remota.<\/p>\n<p><b>git reset &#8211;hard HEAD:<\/b><\/p>\n<p>Elimina los cambios realizados que a\u00fan no se hayan hecho commit.<\/p>\n<p><b>git revert\u00a0:<\/b><\/p>\n<p>Revierte el commit realizado, identificado por el \u201chash_commit\u201d.<\/p>\n<h4><b>Buenas pr\u00e1cticas en el Uso de GIT<\/b><\/h4>\n<p>Cada desarrollador o equipo de desarrollo puede hacer uso de Git de la forma que le parezca conveniente. Sin embargo una buena pr\u00e1ctica es la siguiente:<\/p>\n<p>Se deben utilizar 4 tipos de ramas:<b>\u00a0Master, Development, Features, y Hotfix.<\/b><\/p>\n<p><b>Master:<\/b><\/p>\n<p>Es la rama principal. Contiene el repositorio que se encuentra publicado en producci\u00f3n, por lo que debe estar siempre estable.<\/p>\n<p><b><br \/>\n<\/b><b>Development:<\/b><\/p>\n<p>Es una rama sacada de master. Es la rama de integraci\u00f3n, todas las nuevas funcionalidades se deben integrar en esta rama. Luego que se realice la integraci\u00f3n y se corrijan los errores (en caso de haber alguno), es decir que la rama se encuentre estable, se puede hacer un merge de development sobre la rama master.<\/p>\n<p><b>Features:<\/b><\/p>\n<p>Cada nueva funcionalidad se debe realizar en una rama nueva, espec\u00edfica para esa funcionalidad. Estas se deben sacar de development. Una vez que la funcionalidad est\u00e9 desarrollada, se hace un merge de la rama sobre development, donde se integrar\u00e1 con las dem\u00e1s funcionalidades.<\/p>\n<p><b><br \/>\n<\/b><b>Hotfix:<\/b><\/p>\n<p>Son bugs que surgen en producci\u00f3n, por lo que se deben arreglar y publicar de forma urgente. Es por ello, que son ramas sacadas de master. Una vez corregido el error, se debe hacer un merge de la rama sobre master. Al final, para que no quede desactualizada, se debe realizar el merge de master sobre development.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>GIT\u00a0es un software de control de versiones dise\u00f1ado por\u00a0Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":149,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4],"tags":[5,6],"class_list":["post-298","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git","tag-git","tag-repositorios"],"_links":{"self":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/comments?post=298"}],"version-history":[{"count":2,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/298\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/298\/revisions\/300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/media\/149"}],"wp:attachment":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/media?parent=298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/categories?post=298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/tags?post=298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}