2016-05-25 10 views
1

プルリクエストを行うには、レポをフォークする必要がありますか?以下は、レポの共有と更新プロセスの私の現在の理解である:gitクローンの後にプルリクエストを行うことはできますか?

  1. 私はGitHubの
  2. に自分のレポを作るGitHubの上の共有リポジトリをfork私は私の地元を与えるGitHubの上の私自身のレポからクローンrepo
  3. ローカルリポジトリに新しいブランチ "テスト"を作成します(私はGitHubのリモートリポジトリにテストブランチを作成します)
  4. 私は作業ディレクトリを変更して追加、コミット、プッシュするリモート
  5. GitHubに戻って私のレポに行き、GitHubのGUIからプルリクエストをします。

代わりに、私は共有リポジトリからクローンを作成し、端末から直接プルリクエストを行うことができますか?あるいは、GitHubのGUIをフォークして行く必要がありますか?

答えて

1

共有リポジトリへの書き込みアクセス権がない場合は、yes:GitHubでプルリクエストを作成するにはforkが必要です。それ以外の場合は、ローカルの変更をどこにもプッシュする必要はありません。

あなたは共有レポへの書き込みアクセス権を持っていない場合は、あなただけのブランチを作ることができます。

コマンドラインGitHubツールhubをインストールすることをお勧めします。

$ hub clone someorg/somerepo 
$ cd somerepo 

$ git checkout -b somefeaturebranch 
… 
$ git commit -am "commit message" 

$ hub fork 

$ git push YOUR_GITHUB_USERNAME somefeaturebranch 
$ hub pull-request 

一度設定するには、あなたが実際にgithubは、交換可能に使用することができます。そして、あなたはこの短い流れに従うことができます。私はそれらを別々にして、GitコマンドとGitHubコマンドのどちらを見ることができるようにしました。

+0

ここで変更した後はフォークするのもいいですか?そのフォークのリモートリポジトリは元のものをコピーし、その後、あなたのプッシュはそのフォークのリモートを更新しますか?プルリクエストはその更新されたリモートを使用してリクエストを行いますか?これはそれが何をしているのか、書き込みアクセス権を持たないのと同じことではないのですか? – akantoword

+1

もちろん、ブランチで変更を加える前でも後でもフォークできます。関係ない。重要なことは、ブランチの変更をフォークにプッシュし、フォークからメインリポジトリへのPRを開くことです。 –

+1

実際、あなたがどこかに定期的に貢献しているのであれば、フォークを一度作っておきましょう。 –