web-dev-qa-db-ja.com

Joomlaにコードを寄稿するにはどうすればよいですか?

コードは https://github.com/joomla/joomla-cms (少なくともCMSの場合)で管理されており、プルリクエストを送信してコードの追加を提案する必要があることを知っています。

私は、私の貢献を管理し、コードが適切な場所に配置されるようにするための良いヒントに特に興味があります。

異なるコントリビューションを管理するために、分岐したリポジトリの異なるブランチを使用する必要がありますか?もしそうなら、そのブランチをJoomlaリポジトリのメインブランチにリンクする最良の方法は何ですか?

フォークしたコピーを最新の状態に保つための良い方法はありますか?

このプロセスを管理するための適切なフローに関する提案は、非常に役立ちます。

19
David Fritsch

作成するプルリクエストごとに専用のブランチを用意することは常に良いことです。

最新の新しいブランチを作成する最も簡単な方法の1つは、GitHub Web GUIを使用して元のリポジトリ内のファイルを編集することです。保存すると、GitHubは現在編集しているブランチに基づいて、フォークに新しいブランチを自動的に作成します。さらにファイルを編集したい場合は、新しく作成した最新のブランチで編集できます。

Gitに少し慣れている場合は、分岐したステージングブランチを上流の元のブランチでリベースして、新しいブランチを作成する前に同期されるようにします。また、PRを更新する必要がある場合は、マスターをマージするのではなく、PRをリベースすることをお勧めします。どちらの方法も機能しますが、マージコミットは単に悪い履歴を作成するだけであり、押しつぶすのが難しくなります。

一般的に、PRは「アトミック」である必要があります。つまり、何かを修正しようとした場合は、その特定のバグのみを修正してください。同じPRの2つの異なるバグを修正しないでください。また、コードスタイルの修正も行わないでください。 PRが予想よりも長生きすると、テストが容易になり、競合が発生する可能性も低くなります。

そしてもちろん、何をしたいかについての適切な説明と、問題を再現して修正をテストするためのテスト手順を追加します:-)

10
Bakual

コントリビューションをグループ化するのに役立つ1つの大きなことは、各コントリビューションを個別の適切な名前のブランチに移動することです。機能を追加する場合は、feature-などのプレフィックスを使用し、ブランチ名に1つまたは2つのWord機能の説明を追加します。 JFormクラスのバグ修正の場合は、bugfix-jformを使用します。これにより、git branch -aを介してgitブランチを確認することで、作業中の作業を本当に簡単に特定できます。

4
Don Gilbert