À moins que vous ne soyez une boutique en ligne pour une personne avec aucune équipe avec laquelle collaborer, vous avez vécu la frustration associée au partage de fichiers. Quel que soit votre effort, lorsque plusieurs personnes travaillent sur un seul projet sans système de contrôle de version, tout devient chaotique .
Si vous travaillez avec des développeurs sur la création et l'implémentation de sites Web, la fusion entre les modèles frontaux et les fonctionnalités dorsales peut constituer un trou noir effrayant.
Des problèmes tels que les écrasements, les fichiers perdus et le phénomène trop courant de "travailler sur une version précédente" surgissent constamment . Et une fois que les fonctionnalités de back-end ont été intégrées à vos modèles, vous êtes terrifié à l'idée de les toucher, de peur de casser quelque chose qu'un développeur a passé beaucoup de temps à travailler.
En outre, même si vous disposez d’un référentiel commun que tout le monde tire des cotes, au moins un membre de votre équipe a oublié de récupérer les fichiers les plus récents et est sur le point de faire exploser ses derniers ajouts.
Dans cet article, je vais vous donner un bref aperçu de Git, un excellent système de contrôle de version .
Le contrôle de version (également appelé contrôle de révision ou gestion du contrôle de source ) est un excellent moyen de résoudre le problème de partage de fichiers.
Le concept de base est le suivant: il existe un référentiel principal pour tous les fichiers de projet . Les membres de l'équipe vérifient les fichiers, apportent des modifications, puis les vérifient (ou les valident ). Le système de contrôle de version (VCS) note automatiquement qui a modifié les fichiers, quand ils ont été modifiés et quels étaient les éléments nouveaux ou différents.
Il vous demande également d'écrire une petite note sur le changement afin que tout le monde sur le projet sache d'un coup d'œil ce que vous avez fait et pourquoi. Chaque fichier aura alors un historique de révision afin que vous puissiez facilement revenir à une version précédente de n'importe quel fichier si quelque chose tourne mal.
Un bon VCS vous permet également de fusionner les modifications apportées au même fichier . Si vous et une autre personne travaillez localement sur le même fichier en même temps, lorsque vous renverrez ces fichiers dans le référentiel principal, le système fusionnera les deux ensembles de modifications pour créer un nouveau fichier entièrement à jour. Si des conflits surviennent lors de la fusion, il les mettra en évidence pour vous.
Vous utilisez probablement un VCS très brut pour garder vos fichiers en ordre. Si vous êtes un designer, cela ressemble à ceci:
Cela fonctionne assez bien pour les PSD et autres gros fichiers binaires, qui ne se prêtent pas vraiment à VCS. Mais il existe une bien meilleure façon de le faire lorsque vous gérez le code source d’un site Web.
Même si vous ne travaillez pas avec une équipe, le contrôle de version peut vous sauver la vie . La sauvegarde de fichiers est l'une des choses les plus simples que vous puissiez faire pour vous éviter de perdre votre travail ou de devoir tout recommencer.
L'idée d'un VCS semble intimidante au premier abord, d'autant plus que la plupart de la documentation est écrite par et pour les développeurs . Mais une fois que vous avez décidé de l'intégrer dans votre flux de travail, vous vous rendrez compte qu'il n'est pas aussi difficile qu'il n'y paraît.
OK, vous pouvez maintenant comprendre pourquoi un système de contrôle de version est un outil indispensable pour votre équipe Web. Si vous faites un peu de recherche sur Google, vous verrez qu’il ya plusieurs options, dont SVN, Mercurial, CVS, Bazaar et Git. Chacun d'entre eux pourrait être une bonne solution pour vos besoins, et je vous encourage à faire des recherches avant de choisir un VCS. Dans cet article, je vais me concentrer sur Git , celui que j'utilise quotidiennement. C'est une "étoile montante" qui a gagné en popularité grâce à une solide base de fans Linux, GitHub et le Des rails communauté.
Git est un système de contrôle de version open source gratuit créé à l'origine par Linus Torvalds pour Linux développement kernal. Linus est un gars très intelligent; quand il se met à résoudre un problème, il ne dérange pas. Un des grands différenciateurs de Git est que, contrairement à SVN et CVS, c'est un système de contrôle de version distribué . Cela signifie que chaque utilisateur dispose d'une copie complète des données du référentiel stockées localement sur sa machine. Qu'est-ce qui est génial à ce sujet? Quelques choses:
Git a une courbe d'apprentissage un peu plus dure que SVN , mais le compromis en vaut la peine. Pensez à quel point vos amis développeurs seront impressionnés lorsque vous leur dites que vous utilisez la nouvelle chaleur qu'est Git! En toute sincérité, je ne pense pas que la courbe d’apprentissage soit aussi difficile. SVN était tout aussi déroutant pour moi au début, et je me suis heurté à plus de problèmes quotidiens lors de son utilisation.
Installer Git n'est pas amusant et les jeux. J'ai eu la chance d'avoir un développeur compétent, prêt à vous aider, mais il existe de nombreuses ressources en ligne pour vous aider. Il s'exécutera sur un PC, un Mac ou un Linux, bien que l'installation sous Linux et OSX soit beaucoup plus facile que sous Windows.
Vous pouvez télécharger la dernière version de Git ici Une fois que vous avez les fichiers, essayez ceci Guide rapide pour commencer avec le processus d'installation. Pour les utilisateurs Windows, cette étape par étape guide visuel devrait être utile. Utilisateurs de Mac, essayez ce guide sur GitHub
Une fois que vous avez installé Git, vous pouvez créer votre référentiel . Pour transformer un dossier existant en un référentiel Git, utilisez les commandes suivantes dans votre fenêtre Terminal ou Invite de commandes:
cd path/to/projectgit initgit add .git commit
Ce que vous dites à Git, c'est:
Si vous détestez la ligne de commande, vous pouvez également utiliser l' interface graphique de Git . Ce n'est pas la plus belle chose que vous ayez jamais vue, mais elle est là si vous en avez besoin.
J'utilise actuellement Git sur un Mac pour travailler sur une application Web avec plusieurs développeurs Web. Nous avons une version "master" du code vers lequel nous poussons nos fichiers et nous exécutons chacun une copie complète localement. Chaque jour, mon flux de travail se déroule comme suit:
Toutes ces actions peuvent être effectuées facilement via la fenêtre Terminal , mais je suis une fille visuelle. Pour cette raison, j'utilise GitX , une interface Git pour OSX , pour effectuer mes commits. Je continue à pousser et à sortir du terminal, mais GitX me permet d'organiser facilement mes commits et de comprendre ce que je fais.
En haut, il met en évidence les modifications apportées aux fichiers. Dans la partie inférieure gauche se trouve votre liste de changements non planifiés . Pour les valider, faites glisser un ou plusieurs fichiers dans la zone "Staged Changes" à droite, entrez votre message de validation et appuyez sur le bouton Valider.
Si je retourne à l'arborescence, je peux voir ce qui a été poussé dans le référentiel. Si mes fichiers n'étaient pas à jour avec les fichiers maîtres, les balises vertes et bleues en haut seraient désynchronisées. GitNub offre une interface similaire au style Mac.
Il y a aussi un grand Bundle TextMate disponible. Avec elle, vous pouvez pousser, tirer, valider et bien plus sans jamais quitter TextMate. C'est extrêmement efficace.
Au dessus: Zack Rusin's Git Cheat Sheet
Je suis encore un débutant avec Git, donc je n'ai fait qu'effleurer ce que vous pouvez en faire, mais j'ai vraiment vu la lumière en ce qui concerne le contrôle de version, et je suis content d'avoir enfin compris le train en marche.
Pour en savoir plus sur l’utilisation de Git, consultez ces excellentes ressources:
Apprendre à connaître Git
Entrée Wikipedia sur Git
Pourquoi Git est mieux que X
Le discours de Linus Torvald sur Git
Un tour de Git: les bases
Git Ready
37 Signals Git Resources
Git For The Lazy
Le manuel de l'utilisateur Git
Une astuce de Git
GitHub's Git Cheat Sheet
Git Magic
Contrôle de version pour les concepteurs
Guide visuel du contrôle de version
Entrée Wikipedia sur le contrôle de révision
Choix d'un système de contrôle de version distribué
Je me demande ce que fait ce bouton (une liste à part)
Écrit exclusivement pour WDD par Mindy Wagner. Elle est web designer chez Viget Labs et travaille depuis plus de 8 ans dans le domaine de l’impression et du web design. Elle est titulaire d'un diplôme en arts médiatiques électroniques et en communication de l'Institut polytechnique Rensselaer.
Utilisez-vous Git ou un autre logiciel pour le contrôle de version? S'il vous plaît partager votre expérience avec nous!