tag remota ramas rama mezclar crear cambiar git branch

remota - git tag



git trabajando en dos ramas simultáneamente (6)

Tengo un proyecto con muchas ramas.

Me gustaría trabajar en varias sucursales al mismo tiempo sin tener que cambiar de un lado a otro con el git checkout .

¿Hay alguna forma de que pueda hacer eso además de copiar todo el repositorio en otro lugar?


Al igual que nuestro amigo VonC dijo hace cinco meses, ahora hay una nueva característica desde la versión 2.5.x que hace el trabajo. git worktree .


Echa un vistazo a $GIT_SRC_DIR/contrib/workdir/git-new-workdir .

un script simple para crear un directorio de trabajo que usa enlaces simbólicos para apuntar a un repositorio existente. Esto permite tener diferentes ramas en diferentes directorios de trabajo, pero todas desde el mismo repositorio.


Git 2.5+ (Q2 2015) admitirá esa función: una vez que hayas clonado un repositorio de git, podrás verificar varias sucursales en una ruta diferente con el nuevo comando git worktree add <path> [<branch>] .

Eso reemplaza una secuencia de comandos anterior contrib/workdir/git-new-workdir , con un mecanismo más sólido donde esos árboles de trabajo "vinculados" se registran realmente en la carpeta repo nueva $GIT_DIR/worktrees (para que funcione en cualquier sistema operativo, incluido Windows )

Nuevamente, una vez que haya clonado un repositorio (en una carpeta como /path/to/myrepo ), puede agregar los worktrees para diferentes ramas en diferentes rutas independientes ( /path/to/br1 , /path/to/br2 ), mientras tiene aquellos árboles que trabajan vinculados a la historia principal del repositorio (ya no es necesario usar una opción --git-dir )

Ver más en "¿ Múltiples directorios de trabajo con Git? ".

Y una vez que haya creado un árbol de trabajo, puede moverlo o eliminarlo (con Git 2.17+, Q2 2018).



No realmente, ya que Git solo admite tener una copia de trabajo de los datos del repositorio dentro del directorio del repositorio.

Si quiere comprometer / extraer al mismo repositorio con dos copias de trabajo diferentes, puede crear un repositorio vacío y clonarlo en dos copias de trabajo .

Siempre que haya terminado algo, simplemente presione hacia el repositorio "principal" .

Algunos consejos:

man git-clone

git clone --bare