そこで、githubでプロジェクトのクローンを作成し、パッチを修正しました。Imがgitで作業するのはこれが初めてなので、Imはそれをオンラインにするための最良の方法を見つけようとしています。
githubで自分の(複製された)リポジトリをチェックアウトすると、masterという1つのブランチしかありませんでした。ブランチmyfixを作成しました。これは、バグの修正である1つのコミットを保持します。
- すべてをgithubのクローンプロジェクトにプッシュする必要がありますか?これにより、その単一の修正コミットを含むgithubプロジェクトにブランチmyfixが作成されると思います。
- myfixをmasterブランチにマージし、 myfixを削除してから、すべてをプッシュする必要がありますか?
オンラインで検索する場合、一般的/良い習慣は、マスターをそのままにして、純粋に実際の/元のパブリックプロジェクトリポジトリからプルするために使用することです(つまり、他の人が貢献を受け入れたなど)。しかし、他の人は他の戦略を提案します:
- アップストリームブランチを作成し、クリーンで準備の整ったコントリビューションをそこに置いて、他の人が他の不完全/実験的なブランチと混同しないように簡単に見つけられるようにします(これらが非常に不完全だった場合、なぜこれらがオンラインになるのだろうか)。
- ダウンストリームブランチを作成し、オフラインマージのためにここで他の変更をプルします。
上記の2つに従うと(現在は少しやり過ぎだと感じていますが)、マスターブランチはどのような目的を果たしますか?
Gitは、上記の任意の組み合わせ(またはすべて)を実行できます。これは、自分の作品を他の人に簡単に見せるための方法について少し混乱させてくれます。そのような「一般的な」ワークフローはありますか?それとも、それはすべての人であり、修正されたバグの問題追跡システムの特定のブランチ(プッシュされた)に特定のリビジョンを投稿しますか?