Cette question est liée à mon problème de compréhension du rebase, de la branche et de la fusion , et au problème
Comment pouvez-vous vous engager sur votre compte github alors que vous avez un teamMate dans votre liste distante?
J'ai découvert que d' autres personnes ont eu le même problème. Le problème semble être lié à /etc/xinet.d/.
Problème: impossible de pousser ma branche locale vers ma branche principale sur Github
je cours
git push origin master
Je reçois
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Le message d'erreur me suggère que la branche 'origine' n'est pas dans mon dépôt git local. De cette façon, Git arrête de se connecter à Github.
C'est étrange, car je n'ai pas supprimé la branche «origine».
Mon arbre git est
dev
* master
ticgit
remotes/Math/Math
remotes/Math/master
remotes/origin/master
remotes/Masi/master
Comment pouvez-vous pousser votre branche locale vers Github , alors que vous avez une branche teamMate dans votre Git local?
La réponse de VonC résout le problème principal. J'ai mis un passphares à mes clés ssh.
je cours
$git push github master
Je reçois
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Il semble que j'ai besoin de donner la phrase de passe pour Git d'une manière ou d'une autre.
Comment pouvez-vous faire en sorte que Github vous demande votre phrase de passe plutôt que de vous fier à la clé ssh?
la source
Réponses:
Que fait
renvoie (exécuté dans votre référentiel git)?
Origin n'est qu'une convention de dénomination par défaut pour faire référence à un référentiel Git distant.
S'il ne fait pas référence à GitHub (mais plutôt à un chemin vers votre référentiel de coéquipier, chemin qui peut ne plus être valide ou disponible), ajoutez simplement une autre origine, comme dans cette entrée de Bloggitation
(J'utiliserais en fait le nom 'github' plutôt que 'origin' ou 'origin2')
Vérifiez si votre identité gitHub est correctement déclarée dans votre référentiel Git local, comme indiqué dans le guide d'aide GitHub . (à la fois user.name et github.name - et github.token)
Ensuite, le blog stonean suggère (comme le fait Marcio Garcia ):
Aral Balkan ajoute: créer un fichier de configuration
Vous pouvez également publier le résultat de
pour avoir plus d'informations sur les raisons pour lesquelles la connexion ssh GitHub vous rejette.
Vérifiez également que vous avez entré correctement votre clé publique (elle doit se terminer par '
==
').Ne collez pas votre clé privée, mais votre clé publique. Une clé publique ressemblerait à quelque chose comme:
(Remarque: avez-vous utilisé une phrase de passe pour vos clés ssh? Ce serait plus facile sans une phrase de passe)
Vérifiez également l'url utilisée lors du push (
[email protected]/...
, nongit://github.com/...
)Vérifiez que vous disposez d'un agent SSH pour utiliser et mettre en cache votre clé.
Essaye ça:
Si cela fonctionne, cela signifie que votre clé n'est pas envoyée à GitHub par votre client ssh.
la source
C'est un problème avec votre télécommande. Lorsque vous le faites
git push origin master
,origin
c'est la télécommande etmaster
la branche que vous poussez.Lorsque vous faites ceci:
Je parie que la liste ne comprend pas
origin
. Pour rajouter la télécommande d'origine:Ou, s'il existe mais n'est pas formaté correctement:
la source
La réponse de VonC est la meilleure, mais la partie qui a fonctionné pour moi était super simple et est en quelque sorte enterrée parmi beaucoup d'autres réponses possibles. Si vous êtes comme moi, vous avez rencontré ce problème lors de l'exécution d'un didacticiel de démarrage avec rails et vous n'avez PAS configuré vos clés SSH publiques / privées.
Si oui, essayez ceci:
$>cd ~/.ssh
$>ls
Si la sortie de ls est
known_hosts
et rien d'autre, visitez: http://help.github.com/mac-key-setup/ et commencez à suivre les instructions de la section "Générer une clé" et vers le bas.Après avoir exécuté ces instructions, ma commande "git push origin master" a fonctionné.
la source
git push origin master.
C'était la première fois que je configurais Git et Rails. Espérons que cela a aidé d'autres personnes.J'ai le même problème et je pense que le pare-feu bloque le protocole git. Donc, à la fin, je dois recourir à l'utilisation de https: // pour récupérer et pousser. Cependant, cela invitera toujours l'utilisateur à entrer le mot de passe ...
voici l'exemple de ce qui fonctionne pour moi (juste pour partager avec ceux qui ne peuvent pas utiliser git: // protocole :)
si cela fonctionne, vous pouvez supprimer l'origine et la remplacer par
la source
~/.netrc
fichier pour stocker le mot de passe pour vous si vous le souhaitez. Il est utilisé parcurl
, qui est ce que git utilise pour les transferts HTTP (S), au cas où vous auriez besoin de rechercher les détails de son utilisation.~/_netrc
('_
', pas '.
')Je pense que c'est un autre cas de messages d'erreur git trompeurs. Habituellement, quand j'ai vu cette erreur, c'est dû à des problèmes ssh. Avez-vous ajouté votre clé publique ssh à votre compte github?
Edit: De plus, le message du forum xinet.d fait référence à l'exécution de git-daemon en tant que service afin que les gens puissent tirer de votre système. Il n'est pas nécessaire d'exécuter git-daemon pour pousser vers github.
la source
J'ai eu le même problème et je viens d'ajouter le contenu de ~ / .ssh / id_rsa.pub à mon compte dans GitHub. Après cela, essayez à nouveau
git push origin master
, cela devrait fonctionner.la source
La chose clé à retenir est que «origin» n'est pas la valeur que vous devrez peut-être utiliser ... cela a fonctionné pour moi lorsque j'ai remplacé «origin» par le nom du repo.
la source
Une possibilité que les réponses ci-dessus ne traitent pas est que vous ne pouvez pas avoir d'accès ssh depuis votre shell. C'est-à-dire que vous êtes peut-être dans un réseau (certains réseaux universitaires le font) où le service ssh est bloqué.Dans ce cas, vous pourrez non seulement obtenir des services github mais également tout autre service ssh. Vous pouvez tester si tel est le problème en essayant d'utiliser n'importe quel autre service ssh, c'était le cas avec moi.
la source
J'ai eu ce problème et j'ai essayé diverses solutions pour le résoudre, y compris plusieurs de celles énumérées ci-dessus (fichier de configuration, debug ssh, etc.). En fin de compte, je l'ai résolu en incluant le commutateur -u dans le git push, selon les instructions de github lors de la création d'un nouveau référentiel sur site - nouveau référentiel Github
la source