J'ai un dépôt Git local appelé "skeleton" que j'utilise pour stocker les squelettes de projets. Il possède quelques branches, pour différents types de projets :
casey@agave [~/Projects/skeleton] git branch
* master
rails
c
c++
Si je veux vérifier la branche master pour un nouveau projet, je peux faire
casey@agave [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
et tout est comme je le veux. Plus précisément, la nouvelle branche maîtresse pointe vers la branche maîtresse du squelette, et je peux pousser et tirer pour déplacer les modifications de la configuration de base du projet.
Ce qui ne fonctionne pas, cependant, c'est si je veux cloner une autre branche. Je n'arrive pas à faire en sorte que je ne tire que la branche que je veux, par exemple la branche rails
et ensuite le nouveau dépôt a une branche master
qui pousse vers et tire depuis le dépôt de squelette rails
par défaut.
Y a-t-il une bonne façon de procéder ? Ou peut-être que ce n'est pas la façon dont Git veut que je structure les choses, et je suis certainement ouvert à cette idée. Peut-être devrais-je avoir plusieurs dépôts, le dépôt de squelette Ruby on Rails suivant le dépôt de squelette maître ? Et chaque projet individuel clonant le dépôt de squelette Ruby on Rails.
1 votes
Qu'est-ce que
git branch -a
le spectacle ?5 votes
git checkout -b newbranch origin/branchiwant
fonctionne mieux ? (sans le--track
option)4 votes
Je pense que ce que vous essayez de faire là est une mauvaise idée. Utilisez des dépôts différents pour des projets différents. Les branches sont quelque chose de complètement différent.
0 votes
@Manni, c'est ce que je pensais, puisque git ne semble pas aimer ce que je fais. Pouvez-vous expliquer pourquoi ? Est-ce parce que les branches ne devraient pas avoir une longue durée de vie ?
0 votes
@Jakub,
git branch -a
montre la même chose que legit branch
ci-dessus.0 votes
@rodarmor git branch montre la liste des branches actives et git branch -a montre toutes les branches après avoir cloné un repo.
1 votes
@rodarmor Je pense que ce que vous essayez de faire là est une bonne idée, et j'avais exactement cette question.
0 votes
C'est plutôt une question d'opinion. Google garde tout son code dans un référentiel unique . Ceci étant dit, je suis d'accord avec @innaM. Ce type de flux de travail est difficile à gérer, surtout lorsqu'on essaie de rationaliser les opérations de contrôle de version.