2011-07-16 2 views
7

私はGitとGitHubの両方で新しくなっています。 私はGitHub上にGitHubのページ機能と共に使用されるはずの、自動的に作成されたブランチ(gh-pages)を持つ空のリポジトリを持っています。GitHubとEclipseを使い始める(spring source toolsuite 2.7.1)

私がしたいのは、このリポジトリにコミット/プッシュできるプロジェクトを作成してEclipseプロジェクトを作成することです。

githubでリモートブランチを作成するオプションが表示されないことが混乱しています。私はghのページに私のソースをプッシュすることは良い考えではないと思う。ところで、私はGitHubのページがなぜ機能がブランチとして実装されているのか理解できませんか?ある時点で枝が合体していないとは思わない。明らかに、githubページを自分のプロジェクトにマージすることは意味がありません。この目的のために私のプロジェクト内にフォルダを持っている方が良いのではないでしょうか。

私はグーグルで見つけたこのlinkを見つけましたが、git noobであることは、私がしたいことがあるかどうかはわかりません。 Eclipseをgitとgithubのプライマリインターフェイスとして使用したいのですが、他のオプションがないときにコマンドラインや他のインターフェイスに落ちるだけです。


OK私はそれを理解したと思います。基本的に、あなたが必要とするのは、手前に存在する必要のないリモートリファレンスを定義することです。リモコン上のローカルリポジトリを選択して右クリックします -

  1. プロジェクト
  2. を作成Team->リポジトリビュー(>リポジトリウィンドウ - >ショー表示 - > Gitリポジトリ)で、ローカルリポジトリ
  3. にそれを共有します
  4. 新しいリモート(プッシュの構成)を選択します。リモート名にoriginを入力します。 OKを押します。
  5. URLを変更してください。 githubからssh uriをコピー/ペーストします。 sshプロトコルを選択してください(SSH環境設定でsshキーが定義され、githubにアップロードされていることを確認してください)
  6. 最後の部分はRefマッピングを追加することです。画面のref mappingセクションでAdd ..をクリックします。また、ローカルブランチとリモートブランチの両方でrefs/heads/masterを入力します。

または両方の側にレフリー/ヘッド/マスターかもしれ良いアイデアではありません:)私が見る 、GH-ページの枝がそれのように単純である必要はありませんgithubのレポのクローンを作成自動的にこれがリモートリモート仕様+refs/heads/*:refs/remotes/origin/*

を取得スペック

をフェッチ作成多分これは私が


上記の手順6で入力する必要があるものです10

"ローカルとリモートの両方のブランチで" refs/heads/master "のオリジナルのアイデアが正しいことがわかりました。この設定でプッシュすると、git hubの変更が正しく表示されます。一方、第2の選択肢は黙って失敗しています。

+0

男でも'13あなたの質問は私を助けました。 – happybuddha

答えて

4

ブランチは通常、記載されている方法で使用されますが、でなければなりません。これはgithubがあなたのページのコンテンツを管理できるようにした方法に過ぎず、かなりうまく機能します。これは、1つのSVNサーバーで複数のreposをホストするのと似たようなものです。

新しいリポジトリを作成する場合、githubでリポジトリを作成して複製すると、すでに "origin"という名前のリモートでgithubを指し示しているローカルの空のレポがローカルにあります。これは便利な方法です。自分でリモートを追加する必要はありません。この時点で、レポにはコミットはなく、ブランチもありません。最初のコミットを行うと、自動的に "master"というブランチが確立されます。私はデフォルトでどのようにEclipseが設定されているのかわかりませんが、デフォルト設定のコマンドラインから明示的に新しいブランチをリモートにプッシュする必要があります。そうしないと、プッシュされません。私。最初のコミットを行い、git pushを実行すると、「No refs in commonと指定されていない、何もしない」というメッセージで失敗します。代わりに、git push origin masterにリモートの「起点」(別名github)に「マスター」ブランチを確立するよう指示する必要があります。その後、ちょうどgit pushが正常に動作します。

あなたの混乱の一部を解決するための希望。