Git – carpeta separada para cada twig. Configurarlo

Tengo la necesidad de mantener 3 twigs en 3 carpetas separadas. (Sé que esto no es una manera tonta de hacer las cosas, pero tengo que hacer esto por una razón).

Digamos que el nombre del repository es my_proj_repo.git He creado una carpeta llamada prodv1 en mi sistema local:

 git clone url:/my_proj_repo.git 

Ahora entré en la carpeta prodv1 y copié los files de un server, luego:

 git commit -am "initial import" git push origin master 

Eso empujó los files al maestro. Ahora creé dos carpetas más como la anterior en mi sistema local

 stagingv1 devv1 

Quiero crear dos twigs locales y remotas con los nombres:

 staging // this local branch points (push/pull) to staging remote branch dev // this local branch points ((push/pull) to dev remote branch 

Y estas dos twigs deben estar en las carpetas correspondientes:

 staging ==> stagingv1 folder dev ==> devv1 folder 

Intenté algunas cosas y creo que lo eché a perder. ¿Puede alguien señalarme los commands / pasos para get toda esta configuration como yo quería?

Lo que hice fue entrar en la carpeta stagingv1 e hice un git clone <repo> . Pero por defecto es master . Y no estoy seguro de cómo inicializar la twig de staging aquí.

Creo que deberías crear toda la twig en tu repository

 $ git branch <name_of_your_new_branch> 

Luego, cree todas sus carpetas y en cada una de sus carpetas Clone el repository pero revise las twigs apropiadas.

Cada carpeta debe / puede rastrear solo la twig apropiada

 Step 1 $ git branch [name_branch#1] Step 2 $ git branch [name_branch#2] Step 3 $ git branch [name_branch#3] 

 Step 4 $ git push --all Step 5 md Folder #2 Step 6 $ git clone [URL] Step 7 $ git checkout [name_branch] 

Lo que desea lograr se ha vuelto más simple (o incluso trivial) ya que git 2.5 introdujo el command git worktree .

Básicamente, su repository git tiene ahora un número completamente libre de twigs desprotegidas, llamado tree de trabajo:

  • 0 (un repository desnudo)
  • 1 (un repository normal)
  • n> 1, un repository normal donde se agregaron n-1 treees de trabajo

Si su repository ya contiene su sucursal, puede hacer:
git worktree add <path to branch> <branch name>
O bien, si esa twig aún no se ha creado y desea bifurcar maestra:
git worktree add -b <new branch name> <path to branch> master

Ahí tienes. Tenga en count que no puede verificar una sucursal en varios repositorys simultáneamente.