2013-03-20 20 views
19

私は私の.git/configファイルにこれを追加しました:githubでプルリクエストをプッシュするにはどうすればよいですか?

fetch = +refs/pull/*/head:refs/remotes/origin/pr/* 

私はプルリクエスト差分をプルダウンすることができますが、私はそれをチェックアウトするとき、それは実際にその同じ名前のブランチを作成します。 pr/2にプッシュして、実際にプルリクエストに行く代わりに、pr/2という名前の新しいブランチに行く方法はありますか?

答えて

20

プルリクエストは、特定のブランチをマージするためのリクエストに過ぎません。これは、プル要求が開かれた後にブランチに対して行われたコミットが最終的なマージに含まれることを意味します。

プル要求がマージすることを要求しているブランチにアクセスできる場合は、そのブランチにコミットすることができ、プル要求はその変更で更新されます。

例:

プル/ 3が要求しているマージするhotfix

git fetch git checkout hotfix git pull origin hotfix 

masterにmakeが

git add . 
git commit -m "changes!" 
git push origin hotfix 

を変更する今、あなたのコミットプルリクエストに表示されます。

+4

[2016年9月(ブログ投稿)](https:// github。com/blog/2247-improvement-collaboration-with-forks)を使用しているので、プロジェクトの** fork **で管理者がプルリクエストのブランチにコミットすることができるようになりました。 [ヘルプページ](https://help.github.com/articles/allowing-changes-to-a-pre-request-branch-created-from-a-fork)を参照してください。 –

0

良い質問です。しかし、あなたができれば、私は驚くだろう。

$ cat .git/refs/pull/upstream/839 
f8a9f492098e154b4a8258a941af47c9ca017ada 

あなたが何らかの形であなたが好きなものを、その参照を変更することができたとしても、githubのは、あなたが簡単に変更することはできません他のメタデータを持っています。だから、より良いプッシュへのプルが作成されたからです。

コマンドラインから簡単にgithubの対話のためのgithubのコマンドラインラッパーを参照してください。 https://hub.github.com/

0

GitHubのデスクトップクライアントを使用して、変更をマージしようとした場合、元のPRや変更を含む別のプルリクエスト(PR)を作成しますあなたがチェックアウトしたPRに

私はこれを私のマスターブランチから外しましたが、おそらく別のブランチを作ってプルリクエストのプルリクエストを作成することができました。これらの幻想的なGUIを使っても、私にとっては魔法のようなものです。

ステップ1:プロジェクトのリポジトリから、新しいブランチをチェックアウトし、変更をテスト

4

ここのは、プル要求のためのGitHubの「コマンドラインを介してマージ」の指示(私はfulldecent午前、他の男がOSPRある)されています。

git checkout -b ospr-image-rendering master 
git pull https://github.com/ospr/FDWaveformView.git image-rendering 

ステップ2:GitHubで変更と更新をマージします。ここで

git checkout master 
git merge --no-ff ospr-image-rendering 
git push origin master 

PRの発信元に戻って上流(?)して変更を送信し、追加のステップです。

git push https://github.com/ospr/FDWaveformView.git ospr-image-rendering:image-rendering 
+2

ありがとう、ちょうど私が探していたもの。ステップ2(マスターへのマージ)を省略/延期して、3回目のステップでローカル変更を直接PRにプッシュすることができます。一般的な形式は 'git push <自分のローカルブランチ名>:'です。 – medmunds

関連する問題