2012-04-17 9 views
9

ローカルに作成しないでリモートリポジトリを取得/チェックアウトする方法remoteブランチ?リモートを作成せずにGitをフェッチ/チェックアウトする?

ユースケース: GitHubにいくつかのレポがあり、誰かがそれをフォークして新しい機能を追加し、プルリクエストを開始しました。 最初に修正したいマイナーな問題があるため、自動的にマージできません。

それは私がこのリモートリポジトリを必要とすることは決してないだろう1回の活動ですので、私は地元のremoteブランチを作成する必要はありません。リモートリポジトリから

  1. コピーファイルを、私自身の(なしの任意のgit関連の情報)を書き換える:

    基本的に私はやりたいです。

  2. 私の現在の頭との違いを見てください。
  3. 何かを修正してコミットします。それを行うにはどのよう

git checkout git://github.com/xxx/xxx.gitはすべてで動作します(エラーで失敗)

git fetch git://github.com/xxx/xxx.git作品が、あなたはFETCH_HEADを使用したいもの

答えて

10

を更新しませんしません。

あなたはgit fetch ...FETCH_HEADが作成されると呼ばれる魔法の参照を実行するたびに。

例えば試し:(少なくとも上/のGithubから)

git fetch git://github.com/xxx/xxx.git && git merge FETCH_HEAD 
+2

がいることを、 'gitのプルgitのと同じではありません:// github.com/XXX/xxx.git'? –

5

別のニートの方法は次のようにフェッチされる:

git fetch repo pull/7324/head:pr-7324 

:リモート・リポジトリへ

repo点、例えばgit://github.com/xxx/xxx.git

pull/7324/headは、リモートプル要求です。

pr-7324は地元のプルリクエストのブランチです。

次に、あなたがそれをやりたいために地元のPRブランチを使用することができます。

ソースthis discussionから適合。すべてのGitのサーバーの場合

+0

プルリクエストのチェックアウトはで議論されました:// stackoverflowの ' gitが[email protected]を--no-コミット引っ張ります。com/questions/6743514/i-fetch-an-unmerged-pull-a-branch-i-dont-own –

7

git fetch git://host.com/path/to/repo.git remote-branch-name:local-branch-name 
git checkout local-branch-name 
関連する問題