45 votes

Devrais-je stocker le référentiel git dans Home ou Eclipse Workspace?

Je passe simplement de svn à git, et je tiens à poser de bonnes bases.

Par défaut, Eclipse veut stocker mon référentiel de clones local dans ~ / git. Je suis plus à l'aise de conserver toutes les données d'une tâche dans le même espace de travail - je suis donc enclin à les conserver dans mon espace de travail.

Existe-t-il des avantages / inconvénients importants à prendre en compte?

Je n'ai pas l'intention de faire beaucoup de branches - je vais vraiment dans la voie du DVD principalement pour surmonter certains problèmes de communications Internet peu fiables.

28voto

leonbloy Points 27119

Je suis trop le passage à Git dans Eclipse, et la lecture sur cette question. Il semble que la sagesse actuel (mais pas tout le monde est d'accord) est:

  • S'habituer à ne PAS avoir de vos projets ci-dessous le répertoire d'espace de travail.

  • Avoir un dépôt git pour chaque groupe de projets eclipse (et peut-être plus de fichiers, bien sûr). Le concept de "projets" est à votre convenance [*]

  • Pour chaque dépôt, un premier niveau de répertoire pour chaque projet Java. Cela implique que vous aurez un .git/ répertoire, et, au même niveau, les répertoires de projet.

Exemple: supposons que, "avant de GIT", vous avez eu une éclipse de l'espace de travail avec plusieurs projets:

/wk/workspace/.metadata/  
/wk/workspace/projXXX/  
/wk/workspace/projXXXtest/  (related with the previous)
/wk/workspace/projYYY1/     |
/wk/workspace/projYYY2/      >  three related projects
/wk/workspace/projYYY3/     |
/wk/workspace/projZ/        (a project you are not going to version in git)

Vous allez ensuite créer deux répertoires vides, un pour chaque référentiel, dire:

~/repositories/XXX/ 
~/repositories/YYY/ 

et ensuite, avec la nouvelle GIT mise en page, vous aurez:

/wk/workspace/.metadata/  
/wk/workspace/projZ/ 

~/repositories/XXX/.git/   (XXX related repository - non-bare)
~/repositories/XXX/projXXX/
~/repositories/XXX/projXXXtest/

~/repositories/YYY/.git/   (YYY related repository - non-bare)
~/repositories/YYY/projYYY1/
~/repositories/YYY/projYYY2/
~/repositories/YYY/projYYY3/

Eclipse (EGit) tout cela pour vous lorsque vous cliquez sur l'Équipe->Partager sur un projet existant et spécifier (dans l'exemple) ~/repositories/XXX/.git/ comme dépôt, (~/repositories/XXX/ comme "répertoire de Travail", congé de "Chemin d'accès dans le référentiel" vide).

[*] Garder à l'esprit qu'ici, chaque groupe de projets est, depuis le Git de point de vue, tout un ensemble de répertoires à l'intérieur d'un référentiel. Les implications qui en découlent: dans l'exemple ci-dessus, vous n'aurez jamais dans le workspace Eclipse deux branches/versions de projets projYYY1 -projYYY2 simultanément; et, par exemple, lorsque vous ajoutez un projet de validation, vous êtes réellement en marquant le répertoire (groupe de projets) s'engager.

2voto

VonC Points 414372

L' .git devrait être là où votre arbre de travail (c'est les fichiers qui représente l'état actuel de la TÊTE de la branche courante, vous travaillez sur)

Rappelez-vous que avec Git, les branches ne sont pas des répertoires (par opposition à SVN), de sorte que votre arbre de travail sera de représenter directement une branche de contenu, pas plusieurs répertoires (pour vos diverses branches), suivie d'un contenu par branche.

J'ai l'habitude de garder mon projet sources distinctes à partir de mon espace de travail Eclipse, mais c'est une question de préférence.

2voto

Zoltán Ujhelyi Points 9628

Je pense que c'est une bonne idée de stocker l'arborescence des versions de git en dehors de l'espace de travail. De cette façon, il est possible de séparer les projets de différents référentiels, tout en les gérant dans le même espace de travail.

De plus, si vous placez le code en dehors de l'espace de travail, vous pouvez organiser vos projets de manière hiérarchique en dehors de l'espace de travail (dans la copie de travail), tout en conservant la représentation à plat dans Eclipse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X