リモートGitリポジトリと同期する方法は?


92

私はgithubでプロジェクトをフォークし、いくつかの変更を加えましたが、これまでのところ良好です。

それまでの間、私がフォークしたリポジトリが変更されたので、それらの変更を自分のリポジトリに取り込みたいと考えています。それ、どうやったら出来るの ?

回答:


76

一般的にgit pullは十分ですが、どのレイアウトを選択したか(またはgithubを選択したかどうかはわかりません)。


4
リモートをフェッチするように構成し、ブランチをマージするように構成しない限り、git pullは機能しません。
Abizern 2010年

「フォークの作成」フェーズで行われたと思います。この情報が破棄されない限り、まだそこにあるはずです。
サイモン・トス

httpsでgit pullを使用することは機能しませんでしたが、httpを使用すると機能しました。
George Profenza

@GeorgeProfenzaそれは安全ではありません。使用を検討してくださいssh
JVE999

65

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

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

また、マージをリポジトリのコピーにプッシュする必要があることにも注意してください。

git push origin master

追加は機能しましたが、プルできませんでした:(、httpsに関連するエラーが発生しました:エラー:github.com/mrdoob/three.js.git/info/refsにアクセスしているときにlibcurlでプロトコルhttpsがサポートされていないか無効になっている fatal:HTTPリクエストが失敗しましたヒント?
ジョージプロフェンツァ

どのプラットフォーム?gitの依存関係の1つが完全ではないようです。
Mark Hibberd、2010年

回避策として、httpsの代わりにgitプロトコルを使用することもできます。
Mark Hibberd、2010年

OSXで実行されています。git pull github.com/mrdoob/three.js.git master
George Profenza 2010年

3
コマンドの入力ミス、と思います。最初にoriginal、次に切り替えますorigin
Benjol 2010年

46

元のリポジトリをアップストリームとして追加する必要があります。

それはすべてここでよく説明されています: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

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

git remote add github(元のリポジトリのクローンURL)

次に、変更をローカルリポジトリに取り込む必要があります

git fetch github

これで、元のリポジトリのすべてのブランチがローカルブランチにあります。たとえば、マスターブランチはになりますgithub/master。これらのブランチを使用すると、あなたがすることを行うことができます。それらをブランチなどにマージします


1
upstreamリモコンの名前をお勧めします。
vidstige 2015年

@vidstigeリポジトリに複数のリモートがある場合、これは十分に説明的ではありません。たとえば、GithubにリモートとDropboxにリモートがあることがよくあります。
アビゼル

まあ、もちろんそれは理にかなっています。そのため、自分で名前を付けることができるのは素晴らしいことです。自分のフォークであるoriginと呼ばれるリモートを1つ持っているよりも、セットアップが一般的ではないことを認識してから、通常は "upstream"という名前のオリジナルを用意します。
vidstige 2015年

-8

Linuxの場合:

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

3
これは、OPが求めていたものの逆です。
ライアン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.