Git muestra ramas remotas

Git muestra ramas remotas
La capacidad de Git para crear ramas fácilmente es una gran característica. Sin embargo, cuando se trata de ramas locales y remotas, puede volverse un poco complicado. Establecamos una situación en la que vamos a crear nuestro propio repositorio Git que se comportará como un repositorio remoto. Luego vamos a crear y cometer ramas a nuestro repositorio remoto desde Project_Source. Después de eso, vamos a clonar el repositorio remoto y jugar con las ramas. El ejercicio también debe darle una idea de cómo funcionan los repositorios remotos como Github y Bitbucket. Puedes visualizarlo de la siguiente manera:

Comencemos con el repositorio de git. Crearemos una carpeta llamada Proyecto.Git e inicializarlo para convertirse en el repositorio remoto:

Proyecto de $ Mkdir.git
Proyecto de $ CD.git/
$ git init -Bare
Repositorio de git vacío inicializado en/usuarios/zakh_eecs/_work/aprendizaje/git_remote_repository/
proyecto.git/

Ahora vaya a una nueva ubicación donde puede crear una carpeta limpia. Cree la carpeta Project_source y la inicialice para GIT:

$ Mkdir Project_source
$ CD Project_source
$ git init
Repositorio de git vacío inicializado en/usuarios/zakh_eecs/_work/aprendizaje/git_branching_source/
Project_source/.git/
$ Touch ReadMe.TXT
$ git add -a
$ Git Commit -M "Commit inicial"
[Maestro (Root-Commit) 176134f] Conjunto inicial
1 archivo cambiado, 0 inserciones (+), 0 deleciones (-)
Crear modo 100644 Readme.TXT

El proyecto_setup es un directorio GIT con ReadMe.archivo txt. Sin embargo, no está conectado a nuestro repositorio remoto. Establezcamos el proyecto.Git para ser el repositorio remoto de Project_Source. Podemos lograr esto a través del siguiente comando:

$ git remoto Agregar origen/usuarios/zakh_eecs/_work/aprendizaje/git_remote_repository/proyecto.git
$ git push origin maestro
Contando objetos: 3, hecho.
Escritura de objetos: 100% (3/3), 213 bytes | 0 bytes/s, hecho.
Total 3 (Delta 0), reutilizado 0 (Delta 0)
A/users/zakh_eecs/_work/aprendizaje/git_remote_repository/proyecto.git
* [nueva rama] maestro -> maestro

Con el comando Git Remote Add Origin, hemos creado la conexión entre el proyecto.git y proyect_source. Con el comando Git Push Origin Master, hemos empujado nuestra rama maestra al repositorio remoto.

Verifiquemos nuestras ramas (todavía en la carpeta Project_Source):

$ GIT Branch
* maestro
$ git rama -r
origen/maestro
$ git rama -a
* maestro
remotos/origen/maestro

El primer comando es mostrar solo la rama local. La opción -r muestra la rama remota. Y la opción -a muestra tanto local como remoto.

Creemos algunas ramas en nuestro directorio de trabajo:

Desarrollo de sucursales de $ GIT
Hotfix de $ Git Branch
$ git rama experimental
$ git rama -a
desarrollo
experimental
hotfijo
* maestro
remotos/origen/maestro

Hemos creado ramas llamadas Desarrollo, Hotfix y Experimental. Están apareciendo en nuestra lista de sucursales locales. Pero en los remotos/origen, solo hay rama maestra porque esa es la única que empujamos. El maestro de estrella (*) significa que todavía estamos en la rama maestra local. Vamos a la rama de desarrollo, cometamos cambios y empujemos esos cambios al repositorio remoto.

Desarrollo de pago de $ git
Cambio a la rama 'Desarrollo'
$ Echo ABC> Readme.TXT
$ git add -a
$ git commit -m "rama de desarrollo modificada"
[Desarrollo DD9933E] Rama de desarrollo modificada
1 archivo cambiado, 1 inserción (+)
$ Git Push Origin Development
Contando objetos: 3, hecho.
Objetos de escritura: 100% (3/3), 257 bytes | 0 bytes/s, hecho.
Total 3 (Delta 0), reutilizado 0 (Delta 0)
A/users/zakh_eecs/_work/aprendizaje/git_remote_repository/proyecto.git
* [nueva rama] Desarrollo -> Desarrollo

Revisemos todas las ramas ahora:

$ git rama -a
* desarrollo
experimental
hotfijo
maestro
remotos/origen/desarrollo
remotos/origen/maestro

Vemos que estamos en la rama de desarrollo local, pero también hay una rama de desarrollo remoto. Cuando empujamos nuestros cambios con Git Push Origin Development, creó la rama de desarrollo en remotos/origen.

Vamos a salir de Project_source y encontrar un lugar nuevo donde podamos tener una nueva carpeta. Aquí vamos a clonar el repositorio remoto con el siguiente comando:

$ Git Clone/Users/Zakh_eecs/_Work/Learngit/Git_Remote_Repository/Project.git
Clonarse en 'proyecto' ..
hecho.

Hemos clonado una nueva copia llamada Proyecto desde Project.git. Entrar en la carpeta del proyecto y verificar las ramas:

Proyecto de $ CD
$ GIT Branch
* maestro

Cuando Git hace un clon inicial desde un repositorio remoto, solo obtiene la rama maestra. Si usamos la opción -A, vemos:

$ git rama -a
* maestro
remotos/origen/cabeza -> origen/maestro
remotos/origen/desarrollo
remotos/origen/maestro

Observe que no hay rama de desarrollo local. Además, nunca empujamos las ramas de Hotfix y experimentales de Project_Source a Project.Git, así que no los vemos. El repositorio remoto tiene ramas maestro y de desarrollo (remotos/origen/cabeza -> origen/maestro no es una rama, solo le dice a dónde apunta la cabeza).

Vamos a obtener la rama de desarrollo en nuestro entorno de trabajo:

$ git fetch -todo
Retención de origen
Desarrollo de pago de $ git
Desarrollo de ramas configurado para rastrear el desarrollo remoto de ramas de origen.
Cambió a una nueva rama 'Desarrollo'

Si está utilizando una versión anterior de Git, es posible que deba usar:

$ git de desarrollo de pago de origen/desarrollo

Ahora, si usamos el comando de rama, obtenemos:

$ git rama -a
* desarrollo
maestro
remotos/origen/cabeza -> origen/maestro
remotos/origen/desarrollo
remotos/origen/maestro

Podemos hacer cambios en la rama de desarrollo, cometer los cambios y luego presionarlo utilizando el comando Git Push Origin Development Command.

En conclusión

Cuando trabaja con GitHub y Bitbucket, puede usar HTTPS o enlace SSH para conectarse a su repositorio remoto. Entonces establecerás tu origen en esos enlaces. Pero los principios de la rama remota son los mismos que se describen aquí.

Estudio adicional:

  • https: // git-scm.com/docs/git-rama
  • https: // git-scm.com/book/en/v2/git-on-the-server-setting-up-the-server
  • https: // ayuda.github.com/artículos/Adding-An-Existing-Project-to-Github-Using-the Command-Line/
  • https: // ayuda.github.com/artículos/Pushing-to-A-Remote/