EGit Local vs. Remote repositories

Soy nuevo en git y me estoy volviendo loco sobre cómo se supone que debo estar usando git y egit. Desde el tutorial egit, configuré un repository en GitHub, envié mis proyectos de Eclipse al repository remoto de GitHub desde mi área de trabajo local, puedo enviar cambios a GitHub, cambiar twigs, ver las actualizaciones en GitHub, etc. Todo esto tiene sentido.

En cuanto al explorador de Git Repository, tengo una list de sucursales "locales" y no tengo twigs de "seguimiento remoto" y no tengo "controles remotos" en la list. Cuando creo una twig desde una sucursal local, el dialog egit indica "Estás creando una sucursal basada en una sucursal local" y sugiere que debería estar haciendo una sucursal desde una sucursal de seguimiento remoto.

Entonces mi pregunta es, ¿estoy usando correctamente egit?

¿Debo seguir impulsando cambios al repository remoto de GitHub? Si es así, ¿qué sucede una vez que comparto el proyecto y otros desarrolladores clonan el repository y comienzan a hacer cambios en el repository remoto?

¿O debería abandonar el repository local y configurar un nuevo repository remoto clonando el repository existente de GitHub que creé inicialmente desde mi espacio de trabajo?

¿O creo un nuevo "control remoto" de inserción y extracción para mi repository git existente?

¿O algo mas?

Confuso.

La sección "Ramificación" de la Guía del usuario de Egit puede ayudar:

Diálogo de creación de rama

No hay obligación de crear una sucursal local que se denominaría como una sucursal de seguimiento remoto (consulte " Tener dificultades para entender git-fetch " para comprender bien las "twigs de rastreo remotas").

Puede crear tantas sucursales locales (es decir, sucursales que no necesitará insert en ningún lugar) como desee / necesite.

Pero si no ve ninguna twig remota, tal vez no haya buscado ese repository de GitHub en primer lugar: consulte Obtención .

Desde que creó el repository en su sistema local y luego lo envió a github sin crear un control remoto, no tiene un control remoto a mano. Un control remoto es simplemente un alias corto para la URL del repository remoto. Para solucionarlo, cree una configuration remota y una de inserción y recuperación desde la vista de repositorys. Para completar las sucursales de seguimiento remoto en su repository local, debe ejecutar la búsqueda una vez. Una vez hecho esto, puede usar "Empujar hacia arriba" en lugar del dialog más complejo de Equipo> Empujar … que permite definir todos los parameters sobre la marcha. Al usar la línea de command nativa de git, encontrará los mismos conceptos implementados allí:

con "$ git push [url] [refspec]" (por ejemplo, "$ git push https: //github/user/myrepo.git master: master") pasa todos los parameters explícitamente, esto es similar a Team> Push … en EGit

con "$ git push [remote]" (por ejemplo, "$ git push origin") presiona hacia el repository definido por los parameters de configuration del control remoto dado (compruebe .git / config para ver estos parameters o abra la configuration del repository desde egit preference en Eclipse), esto es similar a Team> Push to upstream en EGit. Por lo general, el refspec utilizado de esta manera se configura implícitamente al crear una sucursal local basada en una sucursal de seguimiento remoto. También es posible agregar esta configuration más adelante, pero dado que esta es una configuration manual más tediosa, la otra es más práctica.

Si clonas un repository remoto, el repository del que clonaste se almacena como "origen" remoto en tu clon. De esta manera puede omitir la configuration del control remoto manualmente. Esto solo es necesario si el repository nace cuando lo creas desde cero.