Repository Git sur un serveur: Stg, Dev, Live

Tout d'abord, je suis novice sur Git. Et voici la chose:
Nous avons récemment migré vers un nouveau serveur ou un nouveau site en ligne, et nous n'avons aucune instance d'étape. Donc je veux avoir un sous-domaine à la mise en scène (ou QA), et un autre sous-domaine au développement.

J'ai déjà initialisé un référentiel - bare , ma question est, ¿comment puis-je ajouter à ce référentiel mon site situé dans le même serveur?
Je n'ajoute pas à partir de ma machine locale car le site a une taille de 15 Go. Donc, ça va être tellement de temps perdu.

Et après cela, je suppose que j'ai besoin de cloner le dépôt dans chaque sous-domaine, et checkout à l'étape et le stade de développement respectivement, n'est-ce pas?

En ce moment j'ai ceci:

/var/www/html/live/ (All site files)
/var/www/html/repository.git/
/var/www/html/stging/ (empty)
/var/www/html/dev/ (empty)
1
ajouté édité
Vues: 1

1 Réponses

Cela se fait généralement à travers 3 branches dans le principal repo nu /var/www/html/repository.git/.

Si ce repo vide est vide, vous voulez effectuer un premier commit avec le contenu de votre dossier live:

export GIT_DIR=/var/www/html/repository.git
git config --bool core.bare false
git config user.name yourUserName
git config user.email yourEmail

cd /var/www/html/live
# edit a .gitignore file, listing big files and folders you should ignore
git add .
git commit -m "Live repo import"

# Make two other branches
git branch dev
git branch stg

# restore the bare repo nature
git config --bool core.bare true

unset GIT_DIR

Ensuite, vous pouvez cloner votre repo dans les instances non-nues:

cd /var/www/html/live
# no need to checkout HEAD: the files are already there
git clone --no-checkout /var/www/html/repository.git   

cd /var/www/html/stging/ 
git clone --branch stg /var/www/html/repository.git   

cd /var/www/html/dev/
git clone --branch dev /var/www/html/repository.git   
1
ajouté
Merci beaucoup! Ça fonctionne comme un charme.
ajouté l'auteur Beto Castillo, source