web-dev-qa-db-fra.com

Subversion, github, etc. systèmes de contrôle de version/référentiels

Je développe WP comme un système de gestion de contenu hautement personnalisé. L'un des cinq plug-ins requis est déjà 2500 lignes de code et n'est pas tout à fait fini.

Je travaille entre deux machines - mon ordinateur portable et mon ordinateur personnel.

Généralement, ma méthode de travail implique FileZilla et Notepad ++. Je me connecte à la machine dont j'ai besoin; Téléchargez tout le contenu de/wp-content/du serveur à la machine, puis continuez votre travail.

C'est une méthode assez rapide, mais elle est mal documentée et comporte des risques de remplacer les mauvais changements, etc.

J'ai souvent entendu parler de Subversion/github, etc., et je remarque que la plupart des développeurs sérieux les utilisent, mais je ne sais pas du tout où ils sont ni où commencer.

Quels sont les avantages d'utiliser de tels systèmes?

Comment puis-je m'y impliquer?

De façon réaliste, vont-ils me faire gagner du temps à long terme?

J'ai examiné quelques liens, mais j'ai tendance à me désengager lorsque la terminologie commence à me planer au-dessus de la tête. J'apprécierais donc un langage humain autant que possible. Je suis assez expérimenté, PHP/SQL/JS, etc., mais je n'ai que peu d'expérience des meilleures pratiques en matière de codage, car je suis environ 114% autodidacte.

Merci beaucoup,

3
dunc

Dunc, content que vous ayez posé la question avant qu'il ne soit trop tard pour vous. Vous avez entendu les bons mots. Vous avez raison, malheureusement, les didacticiels sur les articles ne sont pas très conviviaux pour les débutants. Frist m'a laissé essayer de clarifier une terminologie pour vous.

La gestion de votre code et le suivi de toutes les modifications que vous apportez à vos plug-ins s'appellent la gestion du code source. Il existe de nombreux systèmes de gestion de code source opensource et puissants disponibles. Certains très célèbres d'entre eux sont: Git (pas github), Subversion , Mercurial , Bzr .

Tous les SCM ci-dessus (gestion de code source) créent un référentiel pour votre code et stockent chaque modification apportée à votre code dans ce référentiel. Vous pouvez revenir à n’importe quel moment de l’historique de votre code à tout moment.

Github est juste un service d'hébergement pour vos dépôts git. Github offre des comptes gratuits mais rendra votre code public, un bon service pour héberger vos applications/plugins opensource.

Mais si vous ne voulez pas payer et que votre code reste confidentiel, je vous recommanderai bitbucket.org . Ils offrent des référentiels privés et prennent en charge Mercurial et git.

La première chose à faire est de choisir et de choisir un scm. Git est très célèbre pour ses fonctionnalités et Github, mais personnellement, j'aime bien les deux, Git et Mercurial, car ils ont tous deux des fonctionnalités très soignées. Vous pouvez également choisir Subversion, mais vous devrez ensuite héberger votre référentiel sur votre propre serveur ou trouver un service gratuit pour héberger votre référentiel svn.

P.S Vous pouvez également héberger vos dépôts git et Mercurial sur votre serveur.

3
Hameedullah Khan

Github documentera automatiquement chaque modification à mesure que vous transférez le code dans votre référentiel, ce qui est une fonctionnalité très utile parmi une tonne offerte par Github. Une autre fonctionnalité utile pour les référentiels publics est que tout le monde peut contribuer en vous envoyant des rapports de bogues et des extraits de code fixes. Notez que les référentiels privés ne sont pas gratuits comme dans la bière, de sorte que tout votre code, sur un compte gratuit, sera disponible pour tout le monde. Si vous ne voulez pas payer pour le service Github, je suppose que l’installation d’une Subversion sur votre machine de développement ne peut pas nuire.

1
Asko

Juste pour le dire: unison et des outils similaires vous permettent de synchroniser des dossiers de manière intelligente et sensible aux conflits.

Ils ne fournissent pas , cependant, la gestion des versions, ce que font svn, git et d'autres. C'est une bonne alternative à eux si vous n'avez pas besoin ou ne voulez pas conserver toutes les révisions jamais créées.

0
Raphael

Commencez par utiliser Github ( http://help.github.com/ ). Vous aurez une copie en ligne de votre code. Cela signifie que non seulement, mais que tout le monde peut y accéder sur n’importe quel ordinateur (selon que vous le définissiez comme référentiel public ou privé). De plus, c'est une autre sauvegarde de votre code :)

0
paulruescher