Git, la référence ?
Voilà j'aimerai savoir comment vous procédez pour développer vos projets web qui sont déjà en ligne. En effet j'ai un peu de mal avec git, je sais pas si je m'y prends mal ou quoi mais je trouve l'outil bien compliqué (sous windows) pour simplement faire des pull/push et avoir un versioning.
Dois-je persévérer ? Des alternatives ? Astuce ? Abandonner php pour faire des sites vintages des années 80 en .net ? Coder dans la nuit pendant les heures creuses ?
Même question pour la bdd
Git est obligatoire à l'heure actuelle. C'est un peu compliqué (plus qu'un stockage distant ;) ou SVN) mais c'est presque obligatoire.
Pour Windows j'utilise :
https://msysgit.github.io/
http://git-scm.com/book/fr/v1/Personnalisation-de-Git-Configuration-de-Git ce site est pas mal.
Alors par contre j'ai jamais utilisé les dépôts git publics, j'utilise que le git de ma boîte, donc je sais pas trop comment se passe un enregistrement de clé.
Mais en gros, la config de git que je fais à mon taf (testé encore ce matin même sur ma 3e VM :
installation de git
Lancement de git bash
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]
( --> tu remplaces évidemment par ton identité à toi)
$ ssh-keygen
--> <entrée> jusqu'à la fin
tu vas dans le dossier où il te dit qu'il a enregistré les fichiers produits (genre /user/<toi>/.ssh). Tu ouvres le fichier id_rsa.pub avec notepad, là t'as la clé publique à enregistrer je sais pas trop où sur le dépôt que tu veux utiliser (dans ma boite, sur git.maboite.fr, je vais dans Profile Settings > ssh keys)
$ git clone <le_projet_à_cloner> (chez moi ça donne [email protected]:sous-dossier/mon-projet.git)
Là t'es sur la branche "master". Renseigne toi s'il faut changer de branche. S'il faut changer, tu fais "git checkout nom_branche"
Si tu dois commit, tu fais :
$ git status --> te donne la liste des fichiers que t'as modifiés
$ git add <nom_du_fichier_à_commit #1> <nom_du_fichier_à_commit #2> <etc>
$ git commit --> Là tu dois mettre un commentaire, sinon ça commitera pas
$ git push --> là tu pries, pske si ya des conflits, qq'un qui a commit avant toi sur le même fichier, t'es dans la merde, pske je gère pas du tout.
Si tu dois te mettre à jour :
$ git pull
voili voilou, je sais faire que ça, et ça me suffit depuis 5 mois dans la boîte.
@bzerath: Tu peux pas git push si t'es pas à jour avec la version distante. Il va t'obliger à pull d'abord, et tu aura éventuellement des conflits à régler en local sur ta machine, que tu vas commit, et que tu vas pouvoir push ensuite.
Si tu as du mal avec les lignes de commande, je ne peux que trop te conseiller d'utiliser Source Tree de Atlassian : http://www.sourcetreeapp.com/
Le meilleur client git sur Windows à mon sens !
Et si tu veux créer un serveur de versionning, utilise GitLab : https://about.gitlab.com/
Sinon pour avoir un bon workflow sur Git, le mieux c'est d'avoir plusieurs branches spécifiques :
- master (version prod du site)
- develop
- feature (nouvelle fonctionnalité)
- hotfix (correctifs)
- release (nouvelle version)
Tu dois développer une nouvelle fonctionnalité ? Tu clone ta branche develop dans une sous-branche de feature
- git checkout develop (pour se placer sur develop)
- git checkout -b feature/new-feature
Tu développe ta fonctionnalité, tu commit les changements, tu te replace sur develop et tu fusionne feature/new-feature dans develop
- git checkout develop
- git merge feature/new-feature
Comme ça tu as un versionning précis de tous tes changements !
Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.
En accédant à ce site, tu acceptes nos conditions d'utilisation.