Mise en route avec GitHub et Eclipse (source toolsuite 2.7.1)
Je suis nouveau avec les deux Git et GitHub, donc s'il vous plaît garder avec moi.
J'ai un vide référentiel GitHub avec un automatiquement créé branche (gh-pages), qui, je le comprends, est censé être utilisé avec GitHub pages de fonctionnalité.
Maintenant ce que je voudrais faire est de créer et de projet eclipse à partir de laquelle je pourrais commit/push à ce dépôt.
Ce qui est déroutant moi que je ne vois pas d'option pour créer une branche distante sur github. Je suppose que pousser ma source à la gh-pages ne sera pas une bonne idée. BTW, je ne comprends pas pourquoi le GitHub pages fonctionnalité est implémentée comme une branche? Ne sont pas des branches censé être fusionnés les uns avec les autres à un certain point. De toute évidence, elle n'aurait pas de sens de fusionner github pages dans mon projet. Ne serait-il pas préférable d'avoir un dossier au sein de mon projet pour cette fin.
J'ai googlé et trouvé ce lien mais étant un git noob je ne suis pas sûr si c'est ce que je veux faire. Je voudrais utiliser Eclipse comme mon interface principale de git et github seulement de revenir à la ligne de commande ou d'autres interfaces quand il n'y a pas d'autre option.
OK je pense avoir compris. Fondamentalement, ce que vous avez besoin est de définir une distance ref qui n'a pas besoin d'exister avant de la main.
- Créer un projet
- Équipe->Partager à un dépôt local
- Dans la vue repository (Window->Show View-> Git -> Dépôts) sélectionnez le référentiel local et cliquez droit sur les télécommandes
- Sélectionnez de nouveau à distance (configuration push). De Type origine dans le nom distant. Appuyez sur OK
- Changement d'URL. Copier/coller le ssh uri à partir de github. Sélectionnez protocole ssh (assurez-vous que vous avez la clé ssh défini dans eclipse SSH préférences, et les télécharger sur github)
- Maintenant la dernière partie consiste à ajouter Réf cartographie. Cliquez sur Ajouter dans la réf de la cartographie de la section de l'écran. Et entrez refs/heads/master en local et à distance des branches.
Ou peut-être les refs/heads/master sur les deux côtés n'est pas une bonne idée 🙂
Je vois, le clonage d'un dépôt github qui n'a pas de gh-pages de la branche est plus simple car il crée automatiquement cette distance aller chercher spec
Distance De Fetch Spécification +refs/heads/*:refs/remotes/origin/*
C'est peut-être ce dont j'ai besoin pour entrer dans l'étape 6 ci-dessus
Ok il s'est avéré que l'idée originale de "refs/heads/master en local et à distance de la branche" était correcte. En poussant avec cette configuration montre mes modifications dans git hub correctement. La deuxième option, en revanche, est échec silencieux.
OriginalL'auteur Shamaila Tahir | 2011-07-16
Vous devez vous connecter pour publier un commentaire.
Branches sont habituellement utilisées dans la façon dont vous avez décrit, mais rien ne dit qu'ils doit être utilisé de cette façon. C'est juste la façon github a choisi pour vous permettre de gérer votre contenu de la page, et il fonctionne très bien. C'est une sorte de semblable à l'hébergement de plusieurs pensions de titres sur un serveur SVN.
Comme pour la création de repos, si vous créez un repo sur github et ensuite cloner, vous aurez un vide repo localement que déjà les points à github avec une télécommande nommé "origine". C'est un moyen pratique pour commencer, puisque vous n'avez pas à jouer avec l'ajout d'une télécommande vous-même. À ce stade, votre pension n'a pas de validations et pas de branches. Lorsque vous de faire le premier commit, il établira automatiquement une branche nommée "maître". Je ne sais pas comment eclipse est défini par défaut, mais à partir de la ligne de commande avec les paramètres par défaut, vous devez explicitement pousser de nouvelles branches d'une télécommande ou d'autre, ils ne seront pas poussés à tous. I. e. faire le premier s'engager et de faire
git push
va échouer avec un message du genre "Pas de refs en commun et aucune n'est spécifiée; ne rien faire". Au lieu de cela, vous avez àgit push origin master
dire à établir le "maître" de la branche à distance dans "origine" (aka github). Par la suite, juste ungit push
fonctionnera très bien.Espère que éclaircit certains de vos confusion.
OriginalL'auteur Ryan Stewart