1

私は素晴らしいマニュアルを読み、ここでかなりの数の質問を読みましたが、プルリクエストを介してパッチを送信する方法を適切に処理する方法がまだわかりません.

私は GitHub for Windows を使用しています (ただし、必要に応じてコマンド ラインを使用しても問題ありません)。

ここに私がやっていることと、私が混乱している場所があります:

  1. オリジナルの GitHub プロジェクトをフォークして、独自のプロジェクトを作成しました。
  2. 元のプロジェクトに含めたい変更Aを作成しました。
  3. Aのプルリクエストを送信し、彼らはそれを受け入れたため、元のプロジェクトの一部になりました。
  4. Bを変更しましたが、これは役に立たないので、バージョンに含めたくありません。
  5. Cを変更しました。これを使用してもらいたいです。
  6. より多くのコミット。その中には価値のあるものもあれば、価値のないものもあります。

フォーク/ブランチ/プルリクエスト/マージの適切な順序は次のとおりです。

  1. すべての変更を含むバージョンがあることを確認してください。
  2. 特定の変更を上流プロジェクトと共有できることを確認してください。
  3. master ブランチで変更Bを行うと、新しいブランチにはそれが含まれます。そのため、Cに関連する変更だけを送信するにはどうすればよいでしょうか? それとも、アップストリームがまだコピーに持っているものに基づいて、何らかの形で新しいブランチを作成する必要がありますか?

私はほとんどの場合、アップストリームの開発者が戻って特定の変更をチェリーピックする必要がある余分な作業を引き起こしていないことを確認したいだけです. 彼らがバグを修正しやすくなればなるほど、みんなが幸せになります!

4

2 に答える 2

1

フォークされたプロジェクトの通常のワークフローは、上流のブランチ (多くの場合、これは になります) に基づいて独自のブランチ (または複数のブランチ) を作成しupstream/master、それらですべての作業を行うことです。通常、各ブランチは 1 つの機能をカプセル化します。貢献したい機能のプルリクエストを送信します。

したがって、あなたの例では:

元のプロジェクトに含めたい変更Aを作成しました。

通常は、次のように、変更Aの機能またはバグ修正ブランチを作成し、GitHub でプル リクエストとして送信します。

# Make a branch based off of upstream/master
git checkout -b branch-A upstream/master

# Make some changes, then commit them
git add .
git commit

# Push the branch to your fork, then go to GitHub and submit the pull-request
git push origin head

Bを変更しましたが、これは役に立たないので、バージョンに含めたくありません。

プロジェクト オーナーにこの変更を許可したくない場合は、独自のブランチに隔離し、プル リクエストを作成しないでください。必要に応じて、ブランチを独自のリモートフォークにバックアップできることに注意してください。

# Make a branch based off of upstream/master
git checkout -b branch-B upstream/master

# Make some changes, then commit them
git add .
git commit

# Push the branch to your fork
git push origin head

Cを変更しました。これを使用してもらいたいです。

Aに対して行ったのと同じように、 Cに対して別のブランチを作成します。

# Make a branch based off of upstream/master
git checkout -b branch-C upstream/master

# Make some changes, then commit them
git add .
git commit

# Push the branch to your fork, then go to GitHub and submit the pull-request
git push origin head
于 2013-09-02T01:21:56.313 に答える
0

更新試合 2015:

GitHub for Windows でプル リクエストを作成する」を参照してください。

Mac クライアントと同様に、GitHub for Windowsを使用して、デスクトップから直接 GitHub または GitHub Enterprise にプル リクエストを送信できるようになりました。

フォークも忘れませんでした!リポジトリをフォークしてから、アップストリーム リポジトリに変更を提供したい場合、GitHub for Windows はアップストリーム ブランチを追跡します。これは、変更を元に戻す準備ができたときに手間がかからないことを意味します。


(2013 年 8 月) GitHub クライアント ( GitHub for WindowsまたはGitHub for Mac ) を使用すると、次のことが簡単になります。

https://f.cloud.github.com/assets/432536/943708/46a2f12e-0251-11e3-8c46-b1b6636f23d5.png

https://f.cloud.github.com/assets/432536/1160834/a3bbd0be-1fdf-11e3-90aa-13ee15c6c2d8.png

クリックすると:

  • GitHub for Mac または GitHub for Windows を開き、
  • リポジトリをクローンします (持っていない場合)。
  • 変更を含むブランチに自動的に切り替えます。
  • 最後に、デフォルトのアプリケーションで編集するためにファイルを開きます。

したがって、コマンドラインが気に入らない場合は... 別のオプションがあります。

于 2013-09-30T19:53:25.530 に答える