¿Cómo puedo desembolsar mi propio repositorio GitHub?
Pregunta
Así, novato total a Git. Estado leyendo a través de las guías y creo que tengo lo básico, pero estoy teniendo dificultades para llevar a cabo esto un objetivo.
Tengo una cesión temporal creada para mi código fuente de marcado genérico. Sólo cosas que reutilizar para cada ruptura. Se llama markupDNA.git
Me gustaría tener diferentes directorios en mis sitios mac ~/Sites/project-N
dir. Cuando construyo sobre el material genérico y hacer una ruptura de un sitio. Me gustaría que estos sean atadas a mi principal repositorio git como horquillas, pero no se puede bifurcar su propio repo?
Me gustaría poder hacer algo como esto:
git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git push
Pero no quiero que empuje al origen. Quiero que empuje a un tenedor de la cesión temporal markupDNA
de donde fue clonado. Pero parece que sólo empuja mis cambios hasta en el maestro de origen. La idea es mantener el markupDNA
limpia y sólo tienen una gran cantidad de horquillas para mis diferentes proyectos, cada uno de los cuales tendrá su propio dir clonado en mi disco duro.
¿Alguna idea?
Solución
Probablemente será mucho más fácil de usar ramas , en lugar de utilizar horquillas separadas . Usted todavía puede tener cajas separadas para cada rama; solo clon de tu repositorio varias veces, y el uso git checkout
en cada uno para cambiar a la rama apropiada (o git checkout -b
para crear la rama y comprobar que funciona a la vez). Una vez que haya creado las ramas, puede empujarlos a GitHub usando git push origin <branchname>
.
Otros consejos
Lo estás haciendo lo correcto.
cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename origin markupDNA
- Nav a la carpeta donde se almacenan los proyectos
- clon de su base de
markupDNA
cesión temporal con el nombre de encargo - cambiar el nombre del mando a distancia de modo que si usted quiere un 'origen' más adelante, puede
para hacer realidad tenedor GitHub del propio repositorio puede utilizar estos pasos:
- Crear una organización
- Tenedor de organización
- Cambiar nombre bifurcó proyecto
- Mover hacia atrás a su cuenta ??li>
Sorprende que nadie ha hecho referencia a este tipo de Entrada de blog todavía.
A continuación los pasos correspondientes:
$ 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 configuración, por lo general utilizan una combinación de git remote remove
y git remote add
.
También podría usar git remote rename
seguido por git remote add
si se quería mantener el origen aguas arriba alrededor.
Este tutorial da una respuesta directa y sencilla:
- Crear un nuevo github vacío
forkedrepo
repository -
Clonar localmente:
git clone https://github.com/YOURUSERNAME/forkedrepo.git
-
Añadir el repositorio GitHub original como a distancia del nuevo repositorio local:
git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git
-
Tire hacia abajo de una copia del repositorio GitHub original a su nuevo repositorio local:
git pull upstream master
-
Empuje los archivos de su nuevo repositorio local para nuevo repositorio GitHub:
git push origin master
Esto no será reconocido por GitHub como tenedor del repositorio original, por supuesto, pero esto es tan bueno como se pone.
Claro que se puede clonar a partir de un clon. En git no existe el concepto de un acuerdo de recompra principal. La gente a menudo designan un acuerdo de recompra principal, pero eso es por convención, no debido a una razón técnica.
Así que usted puede hacer todo exactamente como lo describen y aún más.
Por ejemplo, tiene sentido para mantener una sucursal en sus sitios de ruptura con las ideas de adiciones o modificaciones a su material genérico. Puede tirar de ellos hacia tu repositorio genérico y distribuir de nuevo desde allí.
También puede utilizar de Github herramienta de importación .
(que está hecho para importar desde SVN, etc, pero se puede utilizar para esto también)
- Crear nuevo repositorio en Github. IMPORTANTE : no "initialize con un README"
- En la siguiente pantalla haga clic en "Importar código"
- Pegar la URL a la Github reporto que desea importar. ( pantalla )
Una vez más, esto está creando un nuevo repositorio y no un verdadero tenedor en Github. Pero todas sus ramas, historia, etc. estarán allí.