Travailler avec Git et les dépôts distants

0

On m'a demandé de travailler avec un référentiel Github et la seule procédure liée à Git que j'ai jamais effectuée est le clonage d'un référentiel existant. J'ai beaucoup travaillé avec SVN, mais je suis un peu un noob en ce qui concerne les branches Git et les arbres en activité. Les documents sont un peu abstraits et ne décrivent pas vraiment les meilleures pratiques en matière de création de nouvelles branches et d’engagement de modifications.

J'aimerais cloner le référentiel existant dans une nouvelle branche disponible pour tous les utilisateurs ayant accès à la branche principale (SSH), puis travailler localement à partir de la branche nouvellement créée et ne valider que les modifications apportées à cette branche. D'après les guides et les guides en ligne, le consensus semble être le suivant:

  1. Clone repo qui crée une origine nommée distante
  2. Créer une nouvelle branche locale off master
  3. Valider les modifications dans la branche locale

Ma question est de savoir comment la branche locale sera-t-elle disponible sur Github pour les autres personnes ayant accès au repo? Quelle est la procédure générale pour cloner un référentiel et créer une nouvelle branche disponible à distance? Toute suggestion serait très appréciée.

dcd0181
la source
1
Peut-être que je manque quelque chose, mais vous savez que vous pouvez git push origin <localbranch>?
Slhck

Réponses:

1

La branche locale ne sera pas disponible pour les autres personnes ayant accès au dépôt github jusqu'à ce que vous ayez poussé votre branche et renvoyé au maître à l'aide de "git push".

Par exemple, disons que je veux télécharger le référentiel "mon-projet" existant sur "un site" avec un accès ssh où la seule branche existante est la branche principale. Ensuite, je vais ajouter une branche "nouveauté" et reporter les modifications dans le référentiel d'origine. Pour ce faire, je procéderais comme suit:

  1. git clone ssh: //some-site/my-project.git
  2. nouvelle fonctionnalité de branche git
  3. nouvelle fonctionnalité de git checkout
  4. <apporter des modifications, ajouter des fichiers, supprimer des fichiers, etc.>
  5. git commit
  6. git push origin nouveauté: nouveauté

ce que chaque commande fait:

  1. clone le référentiel distant sur votre machine
  2. crée une nouvelle branche dans le référentiel local
  3. change la branche de travail en nouvelle fonctionnalité
  4. explicite
  5. valide les modifications apportées à l'étape 4 dans le référentiel local (rien ne change sur le référentiel distant)
  6. pousse la nouvelle branche locale sur la nouvelle branche du référentiel d'origine

À ce stade, toute personne ayant accès au référentiel d'origine aura accès à la nouvelle branche. Lorsque quelqu'un d'autre clone le référentiel ou synchronise son référentiel local avec cette origine, la nouvelle fonctionnalité apparaît lors de l'exécution de la commande "git branch".

Phy51x
la source
1

Vous devriez lire le livre Git Pro , la réponse à votre question se trouve dans les premiers chapitres.

Aucun de vos commits ne sera disponible pour les autres, à moins que vous ne le poussiez. Lorsque vous souhaitez publier l'état actuel de cette branche, vous le faites git push origin <branchname>.

Gronostaj
la source