パッチは、Github での Pull Request として、またはメーリングリストで提出することができます。
提出の際、以下のガイドラインに従います:
Signed-off-by: My Name <my@email.address> を含むこと。これは Section 11 of the Linux Kernel patches guide に該当します。git commit --signoff
git config --global user.name "my name" git config --global user.email "my@email.address"
ソースリポジトリの Github ミラーがここにあります。
Github web インターフェースを用いてプロジェクトを公開リポジトリにフォークし、あなたのコンピュータに clone して、変更のためのブランチを作成し、それらを Github へ push して Pull Request を提出します。
このやり方について知らない場合、そのまま読み進めてください。
Github アカウントを作成します。これは LEDE ソースの公開フォークのホストと、Github での全ての活動に使用されます。
git をあなたのPCにインストールし、本名とメールアドレスを持つローカルの git 設定を作成します
git config --global user.name "my name" git config --global user.email "my@email.address"
あなたはデフォルトのテキストエディタをお気に入りのエディタに設定したいかもしれません。
もし GUI の Linux システムを持っている場合、選択肢の一例はgeany, kwrite, pluma, geditです。
もしコマンドラインを使用している場合、nano が良いエディタでしょう。
git config --global core.editor "editor-name-here"
この時、Github のドキュメント Fork A Repo と Create a local clone of your fork も参考にします
説明通りにそれらを設定後、PR (Pull Request) のために
git checkout -b my-new-branch-name
とコマンドを入力して、新規ブランチを作成します(“my-new-branch-name” は例であり、あなたにとってよりわかりやすい名前を使用します)。
このコマンドより後にあなたが行った全コミットは、このブランチにまとめられます。複数のブランチを持つこともでき、PR 毎に1つを使用します。
作成済みのブランチ間を切り替えるには、
git checkout my-branch-name
を使用します
変更を作成後、
git add -i
と入力し、そのインターフェースを使用して untracked(新規)ファイルと既存ファイルの変更を追加します。
その後、以下を実行します
git commit --signoff
これは git のデフォルトエディタを開き、あなたはコミットメッセージを書くことができます。
最初の行にコミット subject を、
1行空けて
コミット description(説明)を記入します。
このコマンドは、上記で設定したあなたの名前とメールアドレスを含む Signed-off-by 行を自動で追加します。
例として、以下のような完全なコミットメッセージです:
The best code update. This is the best piece of code I have ever submitted. Signed-off-by: John Doe <John.Doe@test.com>
ローカルでの変更を Github 上に送るには、次を入力します
git push --all
このプロセスでは、Github のユーザー名とパスワードが尋ねられるでしょう。
Github リポジトリへコードがアップロードされた後は、Github Web インターフェースを使用して PR を提出することができます。再度 Creating a pull request についての Github のドキュメントを参照してください
メールを development mailing list に送信します。全てのパッチは patchwork に掲載されているものと同じフォーマットで送信される必要があります。もしパッチが patchwork に掲載されない場合、そのパッチについては対応が行われません。 git send-email の使用を特に推奨します。電子メールクライアントはスペースの付加やフォーマットの改変、または印刷が不可能な文字の付加を行う傾向にあるためです。
PR 内またはメールにより送信されるコミットはあなたがマージしてほしい全ての変更についてのものであるべきで、レビュアーが元の PR から見つけた問題の修正についてではありません。
そのため、あなたがコミットを書き直すか取りまとめる必要のある時が来るでしょう; so you end with a normal amount of true and sane commits.
git コマンドラインで作業します。
開発フォルダに移動します。
既存のブランチを確認します:
git branch -a
次のような結果が表示されます:
best_code_update * master
この PR の開発ブランチに切り替えます:
git checkout best_code_update
git logを確認し、取り纏めたいコミットの数(“X” とする)を次のコマンドにより数えることができます:
git log
コミットを削除します:
git reset HEAD~X
(X は削除したいコミットの個数であり、最新のコミットから数えます)これは編集済みのファイルは変更せず、コミットのみ削除します。
ファイルを再度 git tracking に追加します:
git add -i
そして再度コミットします:
git commit --signoff
更新したブランチを Github 上に送信します:
git push -f
この際、“-f” オプションを付加して強制的に push する必要があります。
すると、PR のコミットは自動的に更新されます。
まとめるために interactive rebase を使用できます。コミットとコミットメッセージの整理、編集を行います:
git rebase -i HEAD~X
(X = 編集するコミットの番号)
We encourage frequent committers to host their own staging trees where they aggregate patches that they feel responsible for and/or ones that they created themselves. Once the tree has been reviewed and tested it can be proposed for inclusion in the master branch.