Tenemos que hacer un .gitignore por cada rama en la que estamos? Porque al cambiar de rama muestro los archivos y .gitignore desaparece a...

Cristian Risueño Celedonio

Cristian Risueño Celedonio

Pregunta
studenthace 4 años

Tenemos que hacer un .gitignore por cada rama en la que estamos? Porque al cambiar de rama muestro los archivos y .gitignore desaparece al cambiar de rama

10 respuestas
para escribir tu comentario
    Irving Juárez

    Irving Juárez

    studenthace 4 años

    Pues como todo se une al final en la rama master, es ahí en donde va a estar el archivo .gitignore

    LUIS ARTURO ZARATE AYALA

    LUIS ARTURO ZARATE AYALA

    studenthace 4 años

    te recomiendo que crees el

    .gitignore
    desde tu rama principal (master) hagas un commit - push y luego pases por tus demas ramas y hagas un

    git merge origin master

    de esta forma mezclas en tus demás ramas el git ignore

    Carmen Santiago

    Carmen Santiago

    studenthace 4 años

    Concuerdo con tu definición de "puntero". Es realmente lo que sucede con la creación de una nueva rama. Decir que es una copia es errado. Aunque para aquellos que son nuevos, la palabra puntero no les sonará para nada jaja

    No veo opción para borrar mi comentario y así evitar confusiones para futuros lectores.

    Carmen Santiago

    Carmen Santiago

    studenthace 4 años

    Es verdad, lo expliqué mal. Checkout se utiliza para cambiar de ramas, pero como suelo crear nuevas ramas usando

    git checkout -b <branch-name>
    perdí un poco la noción, jaja disculpa.

    Lo que quería expresar realmente es que al crear una rama nueva, esta tiene un estado idéntico a la rama y commit desde el que fue creado.

    David Granados

    David Granados

    studenthace 4 años

    Oye Grem deberías revisar un poco las funciones del

    checkout
    si bien son muchas creo que ninguna se puede definir como "copiar un estado de un commit" generalmente se usa para navegar entre commits y ramas.

    Podemos hacer un

    checkout -b
    para crear una rama y pasarnos a ella enseguida. Pero ni eso puede definir como "copiar el estado de un commit" porque las ramas no son más que punteros hacia commits, por lo que esa nueva rama no "copia el estado anterior", solo apunta al commit en la que estaba el HEAD cuando fue creada. Es decir, el commit sigue siendo el mismo en ambas ramas, no hay ninguna copia.

    Carmen Santiago

    Carmen Santiago

    studenthace 4 años

    Un

    checkout
    básicamente copia el estado del commit desde el que se hace a la nueva rama. Es por ello que si el
    .gitignore
    desaparece al hacer un
    checkout
    depende desde donde lo hagas y si existe o no al momento de hacer el checkout.

    Si algo extraño está sucediendo, mi descripción no coincide con el comportamiento de git en tu maquina, sientete libre de enviar mensaje y te ayudo.

    Carmen Santiago

    Carmen Santiago

    studenthace 4 años

    No, el git ignore es un archivo general de todo tu repositorio, si es que así lo indicas.

    Al final del día

    .gitignore
    es un archivo que también tiene que ser trackeado
    track
    por git. Así que si por alguna razón en especial el .gitignore es borrado de una rama y se hace un
    àdd
    y
    commit
    sin el archivo, pues esa rama pasará a trackear todo por defecto. Pues
    gitignore
    no existe.

    Que

    .girignore
    desaparezca solo sucede si haces un checkout desde un commit que no lo tiene
    trackeado
    . Cómo puede ser el caso de un repositorio nuevo que no cuenta con ningún commit.

    David Granados

    David Granados

    studenthace 4 años

    Si desaparece el .gitignore al cambiar de rama probablemente es que ya la rama a las que te estaás cambiando la habías creado antes de crear el .gitignore en la rama anterior, por lo que debes hacer merge o rebase de la rama que tiene el .gitignore sobre la que no lo tiene, si quieres tener todos los commits sincronizados, si solo quieres el .gitignore y lo tienes un un commit independiente puedes traerlo con un

    cherrypick
    .

    Alex Camacho

    Alex Camacho

    teacherhace 4 años

    No debería de desaparecer el

    .gitignore
    , ya que al crear una nueva rama lo que se hace es clonar todos los archivos, así que el .gitignore se va también a las nuevas ramas que crees.

    Brandon Argel Verdeja Dominguez

    Brandon Argel Verdeja Dominguez

    studenthace 4 años

    Sí, pero solo si no lo hiciste desde el principio al hacer una rama nueva con : git checkout - [rama] por ejemplo, todos los archivos se pasarán, por lo que si creas el repositorio en github con un archivo .git ignore ya hecho o si lo haces antes de crear ramas alternativas las demás ramas ya lo tendrán (por que las ramas que creas son una copia de tu rama master/main) pero si no lo creaste desde antes puedes hacer una merge o copiar el archivo .gitignore de una rama a otra

Curso de Git y Github [Empieza Gratis]

Curso de Git y Github [Empieza Gratis]

Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git, el sistema de control de versiones por excelencia que utiliza la industria tecnológica. Aprende a trabajar con git, conceptos básicos, clonar un repositorio y gestionar tus proyectos alojándolos en tu repositorio local y en GitHub.

Curso de Git y Github [Empieza Gratis]
Curso de Git y Github [Empieza Gratis]

Curso de Git y Github [Empieza Gratis]

Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git, el sistema de control de versiones por excelencia que utiliza la industria tecnológica. Aprende a trabajar con git, conceptos básicos, clonar un repositorio y gestionar tus proyectos alojándolos en tu repositorio local y en GitHub.