Voici comment vous partagez votre travail sur un référentiel distant git

Partagez votre travail local avec l'équipe sur un référentiel distant, apprenez également à le gérer tout en suivant les modifications et restez synchronisé.

Votre travail ajoute plus de valeur lorsqu'il est publié et partagé avec le monde (ou votre équipe) !!!

Commencer

Aller , comme vous le savez, est l'outil de versionnage le plus populaire utilisé aujourd'hui pour boutique , Piste et version tout type de Les données .
Certaines des fonctionnalités clés de git sont ses la vitesse , distribué la nature, Sécurité , sans douleur ramification et fusion de même que collaboratif travailler avec plusieurs contributeurs.

En commençant notre discussion à partir d'ici, concentrons-nous sur la façon dont git vous aide à collaborer et partagez votre travail avec vos pairs afin que tout le monde puisse travailler sur le même code simultanément sans corrompre les données de l’autre.
C'est là que le concept de référentiels distants entrer dans l'image.
Je suppose que vous maîtrisez l'art de de ton directeur de travail (système de fichiers) au Zone de transit et enfin l'engager à votre référentiel local (base de données).

Cela nous incite à pousser nos données au niveau supérieur «Repo distant» pour les publier sur un référentiel distant.



Mes données ne sont-elles pas déjà stockées dans une base de données git?

Oui, ça l'est! Cependant, comme indiqué dans le diagramme ci-dessous, vos données sont toujours sur le base de données locale Après vous commettre et non encore partagé avec vos collègues.
Architecture à 4 niveaux
Cet article comble le vide entre la collecte de nos données à partir de votre référentiel local et l'amener à la couche suivante appelée le référentiel distant .



Qu'est-ce qu'un référentiel distant

Une base de données d'informations collectées stockées dans un emplacement qui peut être partagé avec vos coéquipiers en leur donnant accès .
Il est idéalement hébergé sur un nuage ou sur un serveur (local ou distant) sur Internet ou sur votre réseau local.
Un dépôt distant est juste comme votre dépôt git local, sauf qu'il est généralement déclaré comme un dépôt nu afin de ne pas avoir une copie de travail comme la vôtre.
Ceci est fait pour restreindre les modifications directes effectuées sur le référentiel distant.

Dépôt nu concept est un avantage supplémentaire pour un référentiel distant pour le conserver protégé et être utilisé dans le seul but de partager le code entre les membres de l'équipe.
Ceci est réalisé en déclarant le référentiel distant comme nu en utilisant le '--juste‘Au moment de l’initialisation en tant que référentiel git.
Ce faisant, votre dépôt est créé avec des métadonnées git ou, en d’autres termes, des objets git stockés uniquement dans le répertoire caché ‘.git’ et aucune copie de travail n’est disponible pour que quiconque puisse ajouter directement des données.
Commander:git init --bare.

Dans cet esprit, à l'avenir, nous verrons plus de façons de gérer un dépôt distant et comment synchroniser notre travail local avec la télécommande.



Créer un référentiel distant

Tout d'abord, vous devez décider de l'emplacement sur lequel vous souhaitez placer votre dépôt distant.
Il existe de nombreux référentiels d'hébergement git basés sur le cloud, tels que - GitLab , BitBucket , GitHub , Forcément et CloudForge pour n'en nommer que quelques-uns.
Dans cet article, je considère GitHub car c'est l'endroit où j'ai commencé à conserver mes dépôts git. Pour commencer, tout ce que vous avez à faire est de vous connecter à un compte GitHub, puis créer un nouveau référentiel , cela crée une URL pointant vers ce dépôt distant.


Git prend en charge les protocoles ssh, git, http et https pour adresser une URL de référentiel.

Vous pouvez également placer votre projet ailleurs, par exemple Serveur Linux en suivant les commandes ci-dessous -
cd $ ACCUEIL
mkdir remote_repo
cd remote_repo
git init --bare.

code java pour se connecter à mysql

Connectez la télécommande à votre machine locale

Joindre une télécommande à votre copie de travail signifie simplement créer un gestionnaire de référence de pointeur pour la télécommande ou simplement appelé ' gestionnaire à distance '.
Passons à mon projet que je souhaite publier -cd apprendre
Syntaxe:git remote ajouter
Commander:git remote ajouter l'origine https://github.com/divyabhushan/learnRemotes.git

'Origine est le défaut nom de référence du gestionnaire distant. » (le nom distant doit être un nom pertinent)
Voyons si cela a fonctionné, en utilisant la commande:git remote

Ça faisait :)

Imprimez également l'URL distante avec le nom:
git remote -v

Bien joué! Vous êtes prêt à établir une connexion à votre référentiel distant à partir de votre répertoire de travail local.

Il est temps de publier

Syntaxe:git push --all --tags[-u | --set-upstream]
Commander:git push origin master

Donc, vous lisez ceci comme 'Pousser le diff des commits à l'origine du maître local' .

Si vous vérifiez votre compte GitHub, vos commits locaux (données) doivent y être affichés.



Suivi des branches

Ainsi, vous avez publié avec succès votre travail sur le référentiel distant.
Cependant, il est important que vous configuriez votre succursale locale pour Piste les modifications sur la branche distante automatiquement.
Utilisez le '--set-upstreamou-u'Flag avec la commande' git push '
Commander:git push -u origin master

branches codées par couleur


Créons en outre un nouveau commit sur la branche «master» et vérifions comment git le détecte.
Commander:état git


Afficher les branches de suivi en mode détaillé
Commander:git branche -vv


Par conséquent, à chaque fois, il y a une différence de commits entre votre dépôt local et distant sur la branche suivie, Git vous le fera savoir.
N'est-ce pas cool !!!

Comment les autres se connecteraient-ils à votre télécommande?

C'est un morceau de gâteau quand tu cloner un référentiel distant !!!

Ainsi, le clonage à partir d'un référentiel distant fait d'abord 2 choses, votre référence à distance est ajouté automatiquement, et le deuxième par défaut branche est réglé sur Piste succursale distante automatiquement.

Étape 1: Clonez votre dépôt distant en tant qu'utilisateur différent
Commander:git clone https://github.com/divyabhushan/learnRemotes.git developer2
développeur cd2

Étape 2: Afficher la télécommande et son URL
Commander:git remote -v


Étape 3: Lister les branches de suivi
Commander:git branche -vv


Le plaisir commence lorsque «developer2» commencera son propre travail et poussera vers la télécommande.

Vous pouvez vous connecter et contribuer à plus d'une télécommande référentiel d'un projet unique .

Afficher les succursales distantes

Commander:git branche -r


Utilisez l'option «-a» pour imprimer les branches locales et distantes, essayez-la dans votre dépôt local après avoir créé quelques branches locales.

Comment les autres contribuent à votre télécommande?

La configuration initiale
Developer2 décide de modifier quelques éléments tels que:
à. Créer une nouvelle «fonctionnalité» du dernier commit sur la branche «master» et faites un nouveau commit sur la branche «fonctionnalité»
Commandes:
git checkout -b fonctionnalité
echo 'améliorations des fonctionnalités'> feature.txt
git add. && git commit -m 'améliorations des fonctionnalités'

b. Créer une branche 'feature2' différente d'un commit plus ancien sur la branche 'master'
Commandes:
git checkout -b fonctionnalité2 95651fb
echo 'feature2 added'> feature2.txt
git add. && git commit -m 'Ajout de modifications de feature2'

Visualisons les branches sur la machine developer2 avec les informations de suivi:

Comme vous avez dû le remarquer, les nouvelles branches ne sont pas configurées pour suivre les branches distantes.

Pousser les modifications vers la télécommande
Tout d'abord, permettez-moi de pousser la branche «fonctionnalité» vers la télécommande avec l'indicateur «–set-upstream ou -u»
Commander:fonction d'origine git push -u




Une nouvelle branche sera créée sur la télécommande, si elle n'existe pas déjà !!!

À ce moment, listez les branches distantes avec la commande: ‘git branch -r’




Une autre façon de suivre la branche distante
De plus, définissons la branche 'feature2' pour qu'elle pointe également vers la même branche 'feature' sur la télécommande
Commander:git branch --set-upstream-to = origine / fonctionnalité caractéristique2



branche à code couleur


Un petit conseil: vous pouvez omettre le nom de la branche locale si vous êtes déjà sur cette branche, en d'autres termes, la branche locale est déjà extraite.

Répertoriez les branches en mode verbeux, commande:git branche -vv



Remarquez que les deux branches locales «feature» et «feature2» pointent vers la même «fonctionnalité» de branche distante.

déclarer un tableau d'objets en java

Rester synchronisé avec la télécommande - chercher, tirer et pousser

Considérons la partie où le succursale distante vous suivez a déjà été mis à jour, que faire alors?
Un simple 'état git«Ou un»git checkout«Ou même le«git branche -vv«La commande nous avertit d'une telle discordance -



'Developer2' doit d'abord mettre à jour les références et objets locaux (' git chercher ‘), Puis fusionnez les modifications distantes et locales (‘ git merge ’).
Fait intéressant, vous pouvez remplacer ces deux commandes par une seule commande «git pull».
Syntaxe:aller tirez

–Pour une branche non suivie
Syntaxe: git pull [:]
Commander:fonction d'origine git pull: fonction2

–Pour la branche suivie
Syntaxe: git pull
Commander:git pull




=> En pratique, des conflits peuvent survenir à ce stade lorsque vous tirez de la télécommande pour plus de simplicité. J'ai généré un changement de validation sans conflit.

Après l'extraction de ‘developer2’ (extraction et fusion), les dernières modifications à distance doivent maintenant publier son propre travail.
Commander:git push origin HEAD: fonctionnalité
Remarque: la branche en amont «feature» ne correspond pas au nom de la branche locale «feature2», vous devez le fournir explicitement



Rappel : 'HEAD' est le dernier commit sur la branche locale 'feature2'.

Quand utiliser «git fetch»?
Parfois, vous devez simplement mettre à jour votre têtes de référence sans réellement télécharger (extraire) de la télécommande.
Ou lorsque les branches distantes ont été modifiées / supprimées lors de la mise à jour, vous devrez exécuter la commande fetch avec le ‘--prune«Option.
Comme meilleure pratique, vous devez exécuter la commande «git fetch» ​​chaque fois que vous commencez à travailler sur votre dépôt local.

Gestion à distance

Enfin, vous souhaiterez effectuer certaines tâches de maintenance telles que renommer ou supprimer des télécommandes et des succursales.
Celles-ci sont tout aussi importantes que les commandes précédentes.

Renommer la télécommande

Syntaxe:renommer à distance git
Commander:git remote renommer snv_repo svn
Par exemple, considérons un chef de projet associé à 3 projets-


Supprimer la référence distante

Supposons que vous ne synchronisez plus avec un référentiel distant, vous risquez de supprimer la référence du pointeur vers celui-ci.
Cependant, cela n’affectera pas le référentiel distant et le travail des autres.

Syntaxe:git remote remove
Commander:git remote remove proj1


Et si vous aviez une branche locale configurée pour suivre une branche du référentiel «proj1» supprimé?
Bien votre branche locale (et donc le travail) est sûr et toujours présent, juste son référence de suivi à distance et configuration les paramètres seront supprimé automatiquement

Supprimer la branche distante

Dis tu accidentellement poussé votre personnel travail difficile sur un branche à la télécommande mais je ne veux pas que les autres le vérifient encore -
Supprimez la branche 'unfinishedWork' de la télécommande 'svn '-
Commander:git branche -vv# Lister les branches de suivi à distance



Syntaxe:git push --delete
Commander:git push --delete svn unfinishedWork


Liquidation

tutoriel ssis pour les débutants 2012 avec des exemples

Avec cela, nous arrivons à la fin de cet article. Si vous avez trouvé ceci ' Didacticiel 'Pertinent, Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation à la certification Edureka DevOps aide les apprenants à acquérir une expertise dans divers processus et outils DevOps tels que Puppet, Jenkins, Nagios et GIT pour automatiser plusieurs étapes dans SDLC.