2010-11-30 19 views
79

私はgithubでプロジェクトをフォークし、いくつかの変更を加えました。リモートのGitリポジトリと同期するには?

一方、私が変更したリポジトリは変更されました。私はそれらの変更を自分のリポジトリに取得したいと思います。それ、どうやったら出来るの ?

答えて

61

git pullは十分ですが、私はあなたが選択したものをレイアウトわからないんだけどまたはあなたのために選ばれたgithubを持っている)。

+3

リモートからフェッチするようにリモートを設定し、ブランチをマージするように設定しない限り、git pullは動作しません。 – Abizern

+0

私はそれが "フォークを作る"段階で行われたと仮定しています。この情報が捨てられない限り、それはまだそこにあるはずです。 –

+0

httpsでgit pullを使用しても動作しませんでしたが、httpでこれを実行しました...今、最新です。ありがとうございます! –

53

それらの更新がマスター上で、ブランチ上で変更をマージすると仮定します。

git remote add origin https://github.com/<github-username>/<repo-name>.git 
git pull origin master 

はまた、あなたが当時のリポジトリのコピーにマージをプッシュするだろうことに注意してください:(一般

git push origin master 
+0

が働いて追加、:(なかった引っ張って、私はhttpsに関連するエラーを得ました 致命的:HTTPリクエストが失敗しました ヒント? –

+0

どのプラットフォームですか?gitの依存関係の1つがcoではないようです完成品。 –

+0

回避策として、httpsではなくgitプロトコルを使用することもできます。 git remote set-url git://github.com/mrdoob/three.js.git - 次にgit pullを試してください。 –

4

元のリポジトリ(フォークしたリポジトリ)をリモートとして追加する必要があります。

git remote add github (clone url for the orignal repository)

次に、あなたが今、あなたは、あなたの地域の一つに、元のリポジトリのすべての支店を持つことになりますローカルリポジトリへの変更

git fetch github

に持参する必要があります。たとえば、マスターブランチはgithub/masterになります。これらの支店では、あなたがすることができます。

+0

私はリモートの名前を'上流 'にすることをお勧めします。 – vidstige

+0

@vidstigeリポジトリに複数のリモコンを持っている場合は、それほど説明的ではありません。たとえば、私は頻繁にGithubのリモートとDropboxのリモートを持っています。 – Abizern

+0

まあ、それは当然意味があります。だからあなた自身に名前を付ける能力を持つことは素晴らしいことです。あなたの設定は、自分のフォークである発信元と呼ばれる1つのリモートを持つことよりも一般的ではないことが分かります。 – vidstige

38

上流に元のレポを追加する必要があります。

それはすべてが順調にここで説明される:Linuxの場合https://help.github.com/articles/fork-a-repo

git remote add upstream https://github.com/octocat/Spoon-Knife.git 
git fetch upstream 
git merge upstream/master 
git push origin master 
-5

:エラー:httpsプロトコル

git add * 
git commit -a --message "Initial Push All" 
git push -u origin --all 
+1

これは、OPが探していたものの反対です。 – Ryan

関連する問題