4

私がこれを正しく理解したかどうかを見てみましょう。私はGitを初めて使用します。

  1. GitHubでプロジェクトのフォークを作成し、いくつかの変更を加えたと仮定します。これらの変更のプルリクエストをコミット、プッシュ、および登録する場合は、私が行ったことに固有の名前で新しい名前付きブランチを作成することをお勧めします。

  2. マスターを使用した後、他の(無関係な)変更をフォークのマスターにプッシュした場合、それらは自動的にプルリクエストに追加されるためです。少なくとも、プルリクエストを使用して次のことを理解する方法は次のとおりです。

プルリクエストは任意のブランチまたはコミットから送信できますが、必要に応じてフォローアップコミットをプッシュしてプルリクエストを更新できるように、トピックブランチを使用することをお勧めします。

プル要求がメンテナによって受け入れられたと想定します。

  1. トピックブランチがマージされた場合、同期を取り戻すために必要なのはfetch、メンテナリポジトリからです。

  2. しかし、トピックブランチがリベースされている場合、履歴は書き直さfetchれ、メンテナリポジトリからのaは、トピックブランチの「複製」を生成します(少なくとも、これは水銀でどのように機能するかです)。

  3. ブランチがマージまたはリベースされているかどうかに関係なく、ブランチ(または名前)は削除されます。メンテナリポジトリに単一のマスターブランチを含めるようにします。

4

1 に答える 1

2

masterブランチに含まれていないものupstream/masterupstream公式リポジトリへのリモートハンドル)を投稿した場合はmaster、いくつかのコミットをロールバックしてから、マージして戻すことをお勧めupstream/masterします。

>> git checkout master         # make sure we're on master
>> git branch oldmaster        # create a new branch, just to be safe
>> git reset --hard HEAD~100   # roll back 100 commits
>> git fetch upstream          # fetch newest changes from upstream
>> git merge upstream/master   # merge the main master branch into your local one

で乱雑なマスターブランチをoldmaster、公式のブランチをで終了する必要がありますmaster

于 2012-11-23T10:06:45.390 に答える