3

私は Git にかなり慣れていないので、今のところとても気に入っていますが、ここで何をすればよいかわかりません。

私は github プロジェクトをフォークしており、現在、別の言語への移植を進めています。参考までに、フォークを作成したときのコードのブランチを作成しました。私の問題は、元のプロジェクトが更新されたことです。これらの変更を元のマスターからブランチにプルする方法がわかりません (「origin」が github プロジェクトを指しているため)。

私自身の教育に関するフォローアップの質問です。元のプロジェクトの所有者は、私のブランチからマスター ブランチに変更を取り込むために、どのコマンドを実行する必要がありますか?

編集:これらの回答は、自分の「マスター」ブランチから実行すると機能しますが、「追跡」ブランチから実行すると機能しません(同じ名前のgitコマンドを知っているため、ここでは用語を大まかに使用しています.ただし、それが何をするかはわかりません)。

master 以外のブランチで run を実行git fetch upstreamしても、何も起こりません。私が試してみるとgit fetch upstream:master、それは言う

ssh: upstream: no address associated with name
fatal: The remote end hung up unexpectedly
4

4 に答える 4

4

次を使用して元のリポジトリを追加できますgit remote

$ git remote add upstream http://github.com/user/repo.git

(必要に応じて別upstreamの名前を付けることもできますが、それはリモートを参照するために使用する名前です。)

更新を取得するには、次を実行します。

$ git fetch upstream

リポジトリからアップストリーム リポジトリに変更を取得するには、メンテナーはリポジトリをリモートとして追加し、変更をプルする必要があります。

$ git remote add drhorrible http://github.com/youruser/yourrrepo.git
$ git pull drhorrible your-branch:master

または、上流のメンテナーがリポジトリをリモートとして追加したくない場合は、直接参照できます。

$ git pull http://github.com/youruser/yourrepo.git your-branch:master
于 2010-05-06T05:17:17.550 に答える
1

リモートリポジトリのリストに追加して、そこからフェッチ/プルできます

$ git remote add first-repo-name git://github.com/first-repo-name/repo.git
$ git fetch first-repo-name
# or:
$ git pull first-repo-name

これgit pullは、実際に first-repo-name マスター ブランチをマスター ブランチにマージします (現在そのブランチにいる場合)

元のプロジェクトの所有者が変更を私のブランチから彼のマスター ブランチにプルするために実行する必要があるコマンドは何ですか?

GitHub 側では、これは実際のコマンドではなく、ユーザーが開始したプル リクエストの結果です。

代替テキスト
(出典:skitch.com

技術的には、(上記のように) フォークされたリポジトリをリモート リポジトリとしてローカル リポジトリに追加できますが、彼のリポジトリが大幅にフォークされている場合、これは実用的ではないため、中央の「プル リクエスト」メカニズムが使用されます。

于 2010-05-06T05:15:07.003 に答える
0

Git は次のように動作するはずです。オリジン (フォークされたリポジトリでもオリジナルでも) から変更をローカル マスターにプルします。次に、git-merge または git-rebase を使用して、それらをローカル ブランチに取り込みます。結果に満足したら、リモートに戻すことができます。

元のリポジトリから変更をプルした後、git-rebase を使用してブランチをマスターにリベースするのが最善であるという質問の仕方から、私は思います。

コマンドラインからこれらすべてを行おうとすると、git-cherry を学ぶ必要があります。それ以外の場合、gitx や gitk などのツールは、マージするコミットを選択するのに非常に役立ちます。

于 2010-05-07T18:50:25.667 に答える
-1

Github の forking help はそれをかなりよく説明しています:

http://help.github.com/forking/

于 2010-06-23T08:58:33.380 に答える