2017-08-22 1 views
1

J'ai déjà configuré une télécommande en amont, locale et d'origine et git et SmartGit ont déjà téléchargé des mises à jour en amont, mais je suis nouveau à git et je trouve encore souvent cela confus. Mon origine est une fourchette d'un autre développeur github repo, et mon local est une copie.Git pull upstream branche ne fonctionne pas

Je sais qu'il y a eu des mises à jour de la branche en amont sur github aujourd'hui et hier, mais je n'ai pas pu les télécharger via SmartGit. Cependant ce qui suit travaillé avec git cmd:

git fetch upstream 
git checkout 1.0.8 
git pull upstream 1.0.8 

checkout 1.0.8 retourné « déjà 1.0.8 » pull upstream 1.0.8 a indiqué qu'il avait mis à jour 5 fichiers à partir d'une mise à jour le 30 Juillet, mais il n'a pas montré aucun des mises à jour d'hier ou d'aujourd'hui; Cependant, lorsque j'ai vérifié les fichiers locaux, les mises à jour les plus récentes avaient été téléchargées. Mes questions sont les suivantes: 1) Est-ce que le git ne doit pas générer un rapport sur tous les fichiers mis à jour ou au moins sur le nombre total de fichiers mis à jour? 2) Comment puis-je faire en sorte que SmartGit fasse la même chose lorsque seul le bouton Fetch est activé et que le bouton Pull est désactivé (l'amont est configuré).

Des idées s'il vous plaît?

MISE À JOUR: Ceci est le menu branches droite clic de souris: Branches right mouse click menu

Répondre

2

Avec SmartGit, sélectionnez votre en amont à distance dans les branches vue, faites un clic droit et invoquer Pull. Confirmez la boîte de dialogue avec Récupérez.

Maintenant, SmartGit mettra à jour les branches distantes de votre télécommande amont. Comme vos branches locales seront très probablement pas suivi les amontà distance branches, mais votre origineà distance branches, un Pull ne fonctionnera pas ici (c'est la même pour la ligne de commande Git). Au lieu de cela, vous devez appeler Fusionner (ou Rebase) et sélectionner la branche amont à partir de laquelle vous souhaitez effectuer la mise à jour.

+0

Il n'y a pas d'option ** Pull ** dans le menu contextuel mais il y a une option ** Merge ** que vous mentionnez dans votre second paragraphe. Je ne veux pas mettre à jour les branches distantes de ma télécommande en amont, en effet je n'ai pas la permission, je veux mettre à jour ma copie locale. Si je sélectionne ** Fusionner **, j'obtiens alors les options: Avance rapide, Créer une validation de fusion ou Fusionner vers l'arborescence de travail. –

+0

Lorsque vous cliquez avec le bouton droit sur votre télécommande dans la vue Branches, il devrait y avoir une option ** Pull **. En mettant à jour la * branche distante * de votre télécommande * upstream *, je voulais dire que votre .git/refs/remotes/upstream/branch local sera mis à jour. Cela n'affectera pas le référentiel distant sur le serveur. La sélection de l'une ou l'autre des options ** Merge ** devrait être bonne. – mstrap

+0

Je vois maintenant qu'il y a une option "pull" lorsque vous cliquez avec le bouton droit de la souris dans la zone Branches lorsque vous faites un clic droit sur le nom du dépôt plutôt que sur le nom de la branche. –