Lorsque vous appuyez sur Master pour la première fois, ajoutez le -ucommutateur ( git push -u origin master). Cela mettra tout en place automatiquement.
Mais comment faites-vous cela en éclipse? Je crois que la question est étiquetée comme "éclipse". Merci! :)
jmort253
2
+1 Merci quand même. Votre réponse a aidé car il s'avère que nous n'avons pas été configurés pour tirer :) Une fois que nous avons compris comment configurer cela dans Eclipse, les choses se sont réunies. Nous constatons maintenant que Git n'est pas si pénible de travailler avec une fois que vous avez compris la façon dont cela fonctionne. Nous avons essentiellement extrait à nouveau le référentiel et l'avons configuré pour l'extraction.
jmort253
16
@ jmort253 serait génial si vous mettiez à jour la question avec les détails de ce que vous avez dû changer dans eclipse pour configurer cela.
gview
@gview - Désolé, j'ai arrêté d'utiliser Egit et j'utilise la ligne de commande. Lorsque je tire, Eclipse a marqué tous les fichiers que mes collègues ont commis comme modifiés par moi et n'a pas inclus les modifications. Donc, j'utilise la ligne de commande. Je ne recommande pas EGit; cependant, mes collègues utilisant des Mac peuvent l'utiliser. Si j'essaie de lui donner une autre chance (douteuse), je mettrai à jour la réponse ici. Franchement, je ne vois pas de quoi parle tout ce battage médiatique. Je suis prêt à revenir à Subversion.
jmort253
9
@ jmort253, après vous avoir laissé le message, j'ai fouillé et compris que la meilleure façon de gérer cela est de faire exactement ce qui était recommandé dans la réponse originale. Egit lit les valeurs du fichier .git / config, donc le modifier avec un éditeur de texte comme décrit, résout le problème.
gview
64
En fait, la réponse de @ Michał Szajbe EST la solution au problème. Les clés d'éclipse en question sont construites à partir du "répertoire de travail" egit. Si vous rencontrez ce problème, recherchez le répertoire .git dans ce répertoire de travail et modifiez le fichier .git / config avec un éditeur de texte, en ajoutant la section décrite par Michal. C'est selon mon expérience une opération assez standard de nos jours pour les cas où vous commencez par git init et poussez vers une télécommande non initialisée, qui crée la branche principale. Je n'ai pas trouvé de moyen dans ce cas de ne pas faire l'édition manuelle pour git pull, même avec la ligne de commande git.
Une fois la modification enregistrée, faites un clic droit sur le dépôt git dans votre perspective egit "Git Repositories", et choisissez les propriétés, vous verrez maintenant que cette section de clés a été créée (ou plus probablement juste lue à partir du fichier de configuration) et une télécommande master au master local git pull fonctionnera comme prévu à l'avenir.
Il est possible que vous puissiez entrer ces clés et valeurs vous-même, mais copier et coller ce que Michal montre est certainement beaucoup plus rapide et probablement plus sûr. Je n'ai pas réellement essayé d'ajouter les clés manuellement via l'éditeur de propriétés et je ne suis pas susceptible de le faire, car je sais que cette méthode fonctionne et a du sens car egit appelle simplement le référentiel git local.
Je soutiens également certaines personnes de mon bureau qui utilisent Flex et l'éditeur Flexbuilder qui repose sur eclipse et egit. Ces instructions sont également pertinentes pour eux.
Je n'ai pas édité le fichier de configuration directement, mais j'ai ajouté la clé "branch.master.merge" en utilisant la boîte de dialogue Propriétés ci-dessus. Cela a également fonctionné comme un sharm.
Matthias Wuttke
57
Pour résoudre ce problème dans Eclipse, ouvrez le menu Windows et sélectionnez Afficher la vue / Autres / référentiels Git .
Dans l'onglet Dépôts Git:
développez votre référentiel local
clic droit sur Remote
cliquez sur Create Remote ...
Nom distant = origine
à côté de l' IRI, appuyez sur le bouton Modifier
CTRL+ SPACEsur URI
sélectionnez l'emplacement distant
appuyez sur Terminer
appuyez sur Enregistrer et pousser
Encore une fois, à partir de l'onglet Dépôts Git:
clic droit sur l' origine
sélectionnez Configurer Fetch ...
sur le mappage de référence, appuyez sur Modifier (Avancé) ...
appuyez sur Add All Branches Spec
cochez la case Forcer la mise à jour
appuyez sur Terminer
Encore une fois, à partir de l'onglet Dépôts Git:
faites un clic droit sur votre référentiel local
sélectionnez Propriétés
appuyez sur Nouvelle entrée ...
entrez les deux touches suivantes:
(1)
Key = branch.master.remote
Value = origin
(2)
Key = branch.master.merge
Value = refs/heads/master
Pour moi, c'est la meilleure réponse à la question.
Kashif Nazar
1
La réponse acceptée semble manquer certaines étapes qui sont couvertes ici.
FableBlaze
47
Cela a fonctionné pour moi:
Cliquez avec le bouton droit sur ma branche locale extraite qui ne peut pas extraire (la mienne s'appelle "développement") Sélectionnez "Configurer la branche ..." Pour "Branche amont:", j'ai sélectionné "refs / heads / development" Pour "Remote:" J'ai sélectionné "origine" Gauche "Rebase" décoché Appuyez sur OK
Maintenant, ma fenêtre de préférences de configuration ressemble à celle de la réponse de gview.
J'ai trouvé "Configure Branch ..." très difficile à trouver. J'ai réussi à le trouver en allant dans la vue "Git Repositories", en développant les branches, en local puis en faisant un clic droit sur la branche
Edd
18
J'ai également eu des problèmes pour le configurer. Cela fonctionne maintenant donc je vais partager mon fichier de configuration. Je pense que cela aidera:
Un fichier de configuration fonctionnel est exactement ce que j'avais besoin de regarder. Merci!
Martin Tuskevicius
10
Même problème. Voici comment je l'ai résolu dans eclipse / egit :
À l'origine, j'ai cloné un dépôt distant sur mon ordinateur de bureau (mon propre dépôt, mais sur un serveur distant). Ensuite, j'ai créé une nouvelle branche de projet de dépôt localement ("testing"), et l'ai poussée vers le référentiel distant. Le dépôt distant cloné sur mon ordinateur portable, est passé à la branche "testing", a travaillé dessus, etc., a poussé, puis est revenu au bureau. Quand j'ai essayé d'extraire les changements de "test" du serveur, j'ai obtenu msg "branche locale non configurée pour l'extraction".
Le problème est que sur le bureau, le "test" est uniquement local, n'a pas d'informations d'URL distantes, donc ne peut pas extraire les modifications.
J'ai résolu cela dans eclipse (egit) par:
suppression de la succursale locale
extraire la branche du dépôt distant en tant que nouvelle branche.
Les étapes étaient:
Accédez à la perspective d'exploration du référentiel Git
renommer la branche locale "zzz" (paranoïaque, n'aime pas supprimer tant que je ne suis pas sûr d'avoir bien compris!)
rt-cliquez sur "Branches", "Passer à", "Nouvelle succursale"
dérouler la liste "Source ref", sélectionner la branche "testing" (tirer la stratégie "merge", "Checkout new branch" coché)
cliquez sur "terminer"
Passez à la perspective habituelle, assurez-vous que mes fichiers sont présents
revenir au référentiel Git Explorer et supprimer la branche "zzz"
Remarque: j'utilise Eclipse Indigo. Les étapes peuvent être différentes sur les autres versions.
J'ai juste eu le même problème mais la réponse acceptée n'a pas fonctionné pour moi. Voici ce que j'ai fait (bien que je ne puisse pas confirmer si la réponse acceptée a eu un impact car la configuration mise à jour reste):
Développez votre arborescence de référentiels git à partir de la vue 'Git Repositories'.
Faites un clic droit sur 'Télécommandes' et sélectionnez 'Créer une télécommande'
Sélectionnez le bouton radio 'Configurer la récupération' -> 'Ok'
Sélectionnez "Modifier" en face de la zone de texte "URI"
Entrez les détails de votre dépôt git et cliquez sur 'Terminer'
Sélectionnez 'Enregistrer'
Vous devriez maintenant pouvoir extraire du référentiel distant.
Remarque - lorsque j'ai essayé 'Dry-Run' qui, je pense, n'est qu'un test de connexion, cela a échoué mais la traction a toujours fonctionné.
then find the .git directory in that working directory and edit the .git/config file with a text editor
Vous n'avez pas besoin de le trouver vous-même ou de l'ouvrir avec un éditeur de texte.
Fenêtre -> Afficher la vue -> Autre -> GIT -> Dépôts Git
Développez le dossier de dépôt que vous avez créé.
Il contiendra un dossier appelé «Répertoire de travail», développez-le.
Il y aura un dossier dans le dossier «Répertoire de travail» appelé «.git» et développez-le.
Dans ".git" il y aura "config", clic droit "config" -> ouvrir dans l'éditeur. Le fichier de configuration s'ouvrira directement dans Eclipse où vous pourrez le modifier. J'ai ajouté ce qui suit et maintenant je peux tirer sans erreurs:
Ce que j'ai trouvé qui fonctionnait avec eclispe (ce n'est certainement pas la bonne façon de procéder mais cela fonctionne): pousser vers le référentiel distant, supprimer l'espace de travail et le référentiel locaux, importer depuis git à l'aide du dialogue d'importation. L'assistant d'importation s'occupe de tout configurer pour les futures extractions.
Essayez windows-> Show View-> Navigator. Dans les fenêtres du navigateur, recherchez le dossier bin dans votre projet, puis validez le dossier bin dans github et espérons que cela fonctionnera bien. Essayez de le tirer ou de le récupérer après toutes les tâches ci-dessus.
vue du référentiel git -> + branches -> local -> sélectionnez la branche locale que vous souhaitez attribuer à la branche distante -> clic droit -> sélectionnez la branche distante (probablement l'origine) et la branche amont
cela l'a fait dans eclipse sans aucune des modifications du "fichier de configuration". Devrait être la réponse acceptée, car la question est spécifique à l'éclipse.
josephus
1
La solution la plus simple que j'ai trouvée lors de l'utilisation du plugin Eclipse Git est la suivante:
Cliquez avec le bouton droit sur le projet et sélectionnez Équipe> Push Branch
Assurez-vous que la case à côté de «Configurer en amont pour le push and pull» est cochée
Cliquez sur suivant et terminez le push.
Une fois cela terminé, la branche sera désormais correctement configurée pour l'extraction.
Vous devez remplacer votre fichier de configuration par ce code .. votre fichier de configuration est situé dans le dossier «git» de votre référentiel. Le dossier 'git' est caché, vous devez donc d'abord afficher les fichiers cachés. Ouvrez le fichier de configuration et écrivez ces codes: -
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = 'url to the git repository that you want to pull'
fetch =
+refs/heads/*:refs/remotes/origin/*
puttykeyfile =
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 887x427+66+66 171 192
J'ai eu le même problème dans Eclipse Neon. Mais aucune solution n'a fonctionné pour moi. J'ai eu le problème lorsque j'ai changé de branche du projet , puis cela a généré cette erreur.La solution que j'ai essayée est:
Accédez au fichier project / .git / config .
Si rebase = false , supprimez-le.
Rafraîchissez votre projet.
Faites git pull ou pull from eclipse.
Erreur résolue.
PS: Comme il s'agit d'un ancien fil, il suffit de mettre à jour car cela pourrait venir pour quelqu'un d'autre.
Réponses:
Votre branche principale locale n'est pas configurée pour suivre la branche principale distante.
Vous pouvez faire
git pull origin master
pour dire à git la branche explicite que vous voulez extraire ou ajouter ceci à votre .git / config:Lorsque vous appuyez sur Master pour la première fois, ajoutez le
-u
commutateur (git push -u origin master
). Cela mettra tout en place automatiquement.la source
En fait, la réponse de @ Michał Szajbe EST la solution au problème. Les clés d'éclipse en question sont construites à partir du "répertoire de travail" egit. Si vous rencontrez ce problème, recherchez le répertoire .git dans ce répertoire de travail et modifiez le fichier .git / config avec un éditeur de texte, en ajoutant la section décrite par Michal. C'est selon mon expérience une opération assez standard de nos jours pour les cas où vous commencez par git init et poussez vers une télécommande non initialisée, qui crée la branche principale. Je n'ai pas trouvé de moyen dans ce cas de ne pas faire l'édition manuelle pour git pull, même avec la ligne de commande git.
Une fois la modification enregistrée, faites un clic droit sur le dépôt git dans votre perspective egit "Git Repositories", et choisissez les propriétés, vous verrez maintenant que cette section de clés a été créée (ou plus probablement juste lue à partir du fichier de configuration) et une télécommande master au master local git pull fonctionnera comme prévu à l'avenir.
Il est possible que vous puissiez entrer ces clés et valeurs vous-même, mais copier et coller ce que Michal montre est certainement beaucoup plus rapide et probablement plus sûr. Je n'ai pas réellement essayé d'ajouter les clés manuellement via l'éditeur de propriétés et je ne suis pas susceptible de le faire, car je sais que cette méthode fonctionne et a du sens car egit appelle simplement le référentiel git local.
Je soutiens également certaines personnes de mon bureau qui utilisent Flex et l'éditeur Flexbuilder qui repose sur eclipse et egit. Ces instructions sont également pertinentes pour eux.
la source
Pour résoudre ce problème dans Eclipse, ouvrez le menu Windows et sélectionnez Afficher la vue / Autres / référentiels Git .
Dans l'onglet Dépôts Git:
Encore une fois, à partir de l'onglet Dépôts Git:
Encore une fois, à partir de l'onglet Dépôts Git:
(1)
(2)
la source
Cela a fonctionné pour moi:
Cliquez avec le bouton droit sur ma branche locale extraite qui ne peut pas extraire (la mienne s'appelle "développement") Sélectionnez "Configurer la branche ..." Pour "Branche amont:", j'ai sélectionné "refs / heads / development" Pour "Remote:" J'ai sélectionné "origine" Gauche "Rebase" décoché Appuyez sur OK
Maintenant, ma fenêtre de préférences de configuration ressemble à celle de la réponse de gview.
la source
J'ai également eu des problèmes pour le configurer. Cela fonctionne maintenant donc je vais partager mon fichier de configuration. Je pense que cela aidera:
Remarque:
https://github.com/chelder86/ArcadeTongame.git
doit être remplacé par votre propre URL de clonage HTTPS.la source
Même problème. Voici comment je l'ai résolu dans eclipse / egit :
À l'origine, j'ai cloné un dépôt distant sur mon ordinateur de bureau (mon propre dépôt, mais sur un serveur distant). Ensuite, j'ai créé une nouvelle branche de projet de dépôt localement ("testing"), et l'ai poussée vers le référentiel distant. Le dépôt distant cloné sur mon ordinateur portable, est passé à la branche "testing", a travaillé dessus, etc., a poussé, puis est revenu au bureau. Quand j'ai essayé d'extraire les changements de "test" du serveur, j'ai obtenu msg "branche locale non configurée pour l'extraction".
Le problème est que sur le bureau, le "test" est uniquement local, n'a pas d'informations d'URL distantes, donc ne peut pas extraire les modifications.
J'ai résolu cela dans eclipse (egit) par:
Les étapes étaient:
Remarque: j'utilise Eclipse Indigo. Les étapes peuvent être différentes sur les autres versions.
la source
J'ai juste eu le même problème mais la réponse acceptée n'a pas fonctionné pour moi. Voici ce que j'ai fait (bien que je ne puisse pas confirmer si la réponse acceptée a eu un impact car la configuration mise à jour reste):
Vous devriez maintenant pouvoir extraire du référentiel distant.
Remarque - lorsque j'ai essayé 'Dry-Run' qui, je pense, n'est qu'un test de connexion, cela a échoué mais la traction a toujours fonctionné.
la source
À propos de la solution de gview:
Vous n'avez pas besoin de le trouver vous-même ou de l'ouvrir avec un éditeur de texte.
[branche "maître"]
remote = origine
merge = refs / heads / master
la source
Ce que j'ai trouvé qui fonctionnait avec eclispe (ce n'est certainement pas la bonne façon de procéder mais cela fonctionne): pousser vers le référentiel distant, supprimer l'espace de travail et le référentiel locaux, importer depuis git à l'aide du dialogue d'importation. L'assistant d'importation s'occupe de tout configurer pour les futures extractions.
la source
Essayez windows-> Show View-> Navigator. Dans les fenêtres du navigateur, recherchez le dossier bin dans votre projet, puis validez le dossier bin dans github et espérons que cela fonctionnera bien. Essayez de le tirer ou de le récupérer après toutes les tâches ci-dessus.
la source
Une alternative pour PULL (évitant l'erreur ci-dessus) est:
(Équipe -> Fusionner ... -> Suivi à distance -> origine / succursale )
la source
vue du référentiel git -> + branches -> local -> sélectionnez la branche locale que vous souhaitez attribuer à la branche distante -> clic droit -> sélectionnez la branche distante (probablement l'origine) et la branche amont
la source
La solution la plus simple que j'ai trouvée lors de l'utilisation du plugin Eclipse Git est la suivante:
Une fois cela terminé, la branche sera désormais correctement configurée pour l'extraction.
la source
éditez le fichier de configuration dans le dossier .git de votre référentiel comme ceci.
remplacez-le
https://github.com/your/uri
par l'URI de votre référentiel github.bonne chance.
ps: utiliser l'idée, oublier l'éclipse
la source
Vous devez remplacer votre fichier de configuration par ce code .. votre fichier de configuration est situé dans le dossier «git» de votre référentiel. Le dossier 'git' est caché, vous devez donc d'abord afficher les fichiers cachés. Ouvrez le fichier de configuration et écrivez ces codes: -
la source
J'ai eu le même problème dans Eclipse Neon. Mais aucune solution n'a fonctionné pour moi. J'ai eu le problème lorsque j'ai changé de branche du projet , puis cela a généré cette erreur.La solution que j'ai essayée est:
PS: Comme il s'agit d'un ancien fil, il suffit de mettre à jour car cela pourrait venir pour quelqu'un d'autre.
la source
Lors de la validation, si vous rencontrez ce problème. Essayez cette approche simple:
Votre branche est configurée pour tirer / pousser. Vos modifications de code seront transmises au référentiel.
Merci
la source