Espacio de trabajo y disposition de routes de repos para eclipse y git

He visto preguntas similares, pero algunas son muy antiguas y otras no son exactamente lo que estoy buscando o no tengo respuestas.

Tengo proyectos en Eclipse en /workspace/project1 y /workspace/project2 . Son proyectos de Gradle y dependen el uno del otro. También tengo /workspace/project3 que es un proyecto de Gradle pero independiente.

Necesito "cargarlos" a un repository de git en Bitbucket. Instalé EGit para ayudarme con esto. Me pregunta dónde se encuentra mi repository local y no sé qué decirle. ¿Debo crear un repository por área de trabajo o por grupo de proyectos dependientes o qué?

Por ejemplo, cuando hago clic derecho en un proyecto y presiono Team > Share > Git , llego a este cuadro de dialog y no sé qué debo completar allí.

enter image description here

Cada repository de git ( no puro ) tiene un directory de trabajo en el que se almacenan los files del compromiso actualmente desprotegido (denominado HEAD ).

Por defecto, el directory de trabajo es el padre del directory de metadatos de git (llamado .git ), pero puede ser separado a través de una configuration . Por ejemplo: git config core.worktree /path/to/workdir

EGit no puede tratar con repositorys que tienen un directory de trabajo separado como se responde aquí: EGit directory de trabajo no debajo del repository local

Pero independientemente de esta limitación, no puede dividir el directory de trabajo de un repository git entre varios espacios de trabajo.

Por lo tanto, debe mover los proyectos al directory de trabajo para que se parezcan a esta estructura:

 ~/git/my-repo/.git ~/git/my-repo/project1 ~/git/my-repo/project2 ~/git/my-repo/project3 

Si project3 es independiente de los demás, puede permanecer donde está o estar ubicado en otro lugar completamente.

Una palabra de advertencia al planificar tener proyectos interdependientes distribuidos en varios repositorys de git. Esto hace que los repositorys git también sean interdependientes, pero sin tener una herramienta de administración de dependencies.

Para que EGit mueva los proyectos, debe ingresar project1 en el campo Ruta dentro del campo de input del repository .

Los files de compilation utilizados comúnmente como master pom.xml o los files Gradle correspondientes se ubicarán en la raíz del directory de trabajo. Esto también facilita la configuration de services populares como Travis, Codeship y amigos.

Algunas cosas para entender / tener en count:

  • Un espacio de trabajo de Eclipse es un contenedor lógico de proyectos, no necesariamente un contenedor físico. La carpeta en la que se encuentra un worksapce también puede ser un contenedor físico de proyectos, lo que significa que los files del proyecto pueden ubicarse en una carpeta debajo de la carpeta de espacio de trabajo (esta es la location pnetworkingeterminada si crea un nuevo proyecto en Eclipse). Pero eso no es un requisito; un proyecto que está contenido dentro de un espacio de trabajo puede tener sus contenidos (sus files) ubicados en cualquier location en su sistema de files.
  • En la mayoría de las configuraciones de desarrollo, los repos locales de git se encuentran en una location "estándar" en el directory de inicio del usuario, a saber, %USER_HOME%/git/name-of-repo . Una vez más, no es un requisito difícil, los usuarios tienen la opción de clonar o crear repositorys en cualquier location que elijan.

Entonces Eclipse eGit te muestra esos 2 ejes de flexibilidad. Se está preguntando dónde desea crear su repository de git local, que generalmente es diferente de su carpeta de espacio de trabajo. Use el button Crear … para crearlo. Creo que en ese punto auto-poblará el path dentro del campo del repository . Si no lo hace, puede ponerle a la ruta lo que quiera (normalmente es lo mismo que el nombre del proyecto, aunque no necesariamente)

Al final de todo, tendrá su espacio de trabajo (contenedor lógico), así como un repository de git local, que será la location física del contenido del proyecto.