2010-10-09 8 views
1

Je veux être en mesure de configurer le flux de travail git suivant mais il est difficile de savoir quelles sont les commandes correctes à utiliser - rebase, remote, etc?comment configurer ce flux de travail git?

  1. Clone un projet open source où je ne accès en lecture seule à leur git
  2. Apporter des modifications au projet et enregistrer ces modifications à la mise en pension de github privée - Appelons que le « développement »
  3. Une fois changements de dev sont stables les déplacer vers de mise en scène
  4. Une fois de mise en scène a été testé puis passer les changements à la « production »
  5. Sync projet source à distance ouverte dire chaque semaine que son évolution et toujours commencer le processus encore.

Merci

+0

Pourquoi auriez-vous besoin d'une copie de la mise en scène qu'il source et la production? Pourquoi n'utilisez-vous pas simplement des balises en développement pour publier des artefacts de manière formelle, vous pouvez donc dire «1.2.3 est prêt pour l'environnement de mise en scène», «1.2.3 a bien fait avec les tests, c'est maintenant un livrable de production»? Si vous trouvez un bogue dans 1.2.3, vous devriez le corriger dans votre ligne de base (développement) en cherchant éventuellement la balise pour reproduire le problème. – mschonaker

+0

il y a des fichiers qui ne devraient être en production comme les paramètres de cache, les paramètres de base de données et les paramètres de mémoire max - donc seulement ceux dans la zone de production et tout le reste dans le dev/staging –

Répondre

1
# clone, create and change to branch development 
git clone git://the/open/source/project.git 
git checkout -b development 

# make changes and commit 
git add ... 
git commit -m '...' 

# several commits later, create a branch named staging and change to it 
git checkout -b staging 

# after testing, create a branch named production and change to it 
git checkout -b production 

# syncing (assuming the remote to be named origin and the branch is named master) 
git checkout master 
git fetch origin master 
git merge origin/master 

# repeat the process 
+0

-1 vous avez oublié "git add", vous avez oublié quelque chose comme "git remote add github ". Et enfin, la fusion devrait être après vérification de la branche de développement, pas de maître. – mschonaker

+0

Vous auriez pu modifier la réponse. C'est pourquoi il y a un bouton "edit"! Un 'git clone' ajoute automatiquement une branche de suivi à distance. L'utilisateur peut vouloir avoir une branche 'master' qui est exactement comme la télécommande. D'où la fusion avec 'master'. –

+0

À une réputation de 173, je doute qu'il pourrait éditer votre réponse. – sleepynate

Questions connexes