¿Cómo puedo bifurcar mi propio repository de GitHub?

Entonces, novato total para Git. He estado leyendo las guías y creo que tengo los conceptos básicos, pero estoy teniendo dificultades para lograr este objective.

Tengo un repo creado para mi código fuente de marcado genérico. Solo cosas que reutilizo para cada ruptura. Se llama markupDNA.git

Me gustaría tener diferentes directorys en mis sitios mac dir ~/Sites/project-N . Donde construyo sobre las cosas genéricas y hago un desglose de un sitio. Me gustaría que estos estén vinculados a mi repository principal de git como tenedores, ¿pero no se puede bifurcar su propio repository?

Ojalá pudiera hacer algo como esto:

 git clone <url> name git add . # make changes git commit -m 'whatever' git push 

Pero no quiero que empuje hacia el origen. Quiero que empuje a un tenedor del repository markupDNA donde fue clonado. Pero parece que simplemente empuja mis cambios directamente al maestro de origen. La idea es mantener el markupDNA limpio y solo tener muchas horquillas para mis diferentes proyectos, cada uno de los cuales tendrá su propio directory clonado en mi disco duro.

¿Algunas ideas?

Probablemente será mucho más fácil usar twigs , en lugar de usar las horquillas por separado. Aún puede tener cajas separadas para cada sucursal; simplemente clone su repository varias veces, y use el git checkout en cada uno para cambiarlo a la sucursal correspondiente (o git checkout -b para crear la sucursal y verifique todo al mismo time). Una vez que haya creado las twigs, puede insertlas en GitHub usando git push origin <branchname> .

Estás haciendo lo correcto.

 cd ~/Sites/ git clone ~/Dev/markupDNA/ project-N cd project-N git remote rename origin markupDNA 
  • Navega a la carpeta donde almacenas tus proyectos
  • clonar el repository base markupDNA con nombre personalizado
  • cambie el nombre del control remoto para que, si desea un 'origen' más adelante, pueda

Sorprendido, nadie ha hecho reference a la publicación de blog de este tipo todavía.

Aquí están los pasos relevantes:

 $ git clone git@github.com:YOURNAME/foo.git bar $ cd bar $ vim .git/config [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git@github.com:YOURNAME/bar.git #replace foo with bar $ git remote add upstream git@github.com:YOURNAME/foo.git $ git push -u origin master 

En lugar de editar la configuration, suelo usar una combinación de git remote remove y git remote add .

También podría usar git remote rename seguido de git remote add si desea mantener el origen de la cadena de contenido.

Para hacer la verdadera bifurcación de GitHub del propio repository puedes usar los siguientes pasos:

  1. Crea una organización
  2. Tenedor a la organización
  3. Renombrar proyecto bifurcado
  4. Regrese a su count

Este tutorial ofrece una respuesta simple y directa:

  1. Crea un nuevo repository vacío github fokedrepo
  2. Clonarlo localmente

     git clone https://github.com/YOURUSERNAME/forkedrepo.git 
  3. Agregue el repository github original como remoto del nuevo repository local:

     git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git 
  4. Tire hacia abajo una copy del repository github original a su nuevo repository local:

     git pull upstream master 
  5. Empuje los files desde su nuevo repository local al nuevo repository github:

     git push origin master 

Esto no será reconocido por github como una bifurcación del repository original, por supuesto, pero esto es lo mejor posible.

Claro que puedes clonar desde un clon. En git no hay concepto de un repository principal. La gente a menudo designa un repository principal, pero eso es por convención, no por una razón técnica.

Entonces puedes hacer todo exactamente como describes y aún más.

Por ejemplo, tiene sentido mantener una sucursal en sus sitios principales con ideas para adiciones o modificaciones a sus productos generics. Puede boost esto hacia su repository genérico y distribuir nuevamente desde allí.

También puedes usar la herramienta de import de Github .

(está hecho para importar desde SVN, etc. pero también puede usarlo para esto)

  • Crear nuevo repository en Github. IMPORTANTE : no "inicialice con un LÉAME"
  • En la pantalla siguiente, click "Importar código"
  • Pegue la URL del repository de Github que desea importar. ( captura de pantalla )

De nuevo, esto está creando un nuevo repository y no es una verdadera bifurcación en Github. Pero todas sus twigs, historia, etc. estarán allí.