一歩ずつの貢献

ノート

QGIS-ドキュメントは、プロセスを実証するために使用されますが、また、以下に示すすべてのコマンドおよび手順は、QGIS-ウェブサイトに適用されます。

もう QGISのためのクリーンなドキュメントを書くために従うべき :ref:`規則 <writing_doc_guidelines> はおわかりでしょうから、このドキュメントを生産する過程、および変更内容を迅速かつ安全にコミュニティと共有する方法へ飛び込みましょう。

すでに` GitHubのアカウントはお持ちであると仮定すると、<https://github.com/join> `_には、作業できる独自のコピーを持っているために、最初に文書のソースファイルのクローンを作成する必要があります-`QGIS Documentationリポジトリ<https://github.com/qgis/QGIS-Documentation> `_ ページ(便宜上、このリポジトリは下では``qgis/QGIS-Documentation``と呼ばれる)に行き、右上隅**フォーク** ボタンをクリックしてください。

数秒後、GitHubのアカウントで、QGIS-ドキュメントリポジトリ( `` https://github.com/を見つけます1/ QGIS-Documentation``)。このレポは、完全な書き込みアクセス権を持っているし、公式ドキュメントに影響を与えるリスクなしですべての貢献をプッシュすることが可能な安全なコピーです。初めに、このリポジトリは、 `` QGIS / QGIS-Documentation``と同じ枝が含まれており、 `` master``ブランチにデフォルト設定されています。分岐は、マージまたは発散できるドキュメントの異なるスナップショットを含む開発の平行線です。好ましくは取り組むする各問題のブランチを作成し、必要な数だけブランチを作成できます。

ちなみに

変更はad’hocブランチで行い、 決して `` master``では行わないでください

慣例により、(:master`` `` QGISと呼ばれる) `` QGIS / QGIS-Documentation``の `` master``ブランチからの変更をマージする以外、あなたの `` master``ブランチの変更を行うことは避けてください。そして、きれいな歴史やスナップショット用に新しいブランチを作成するためのモデルとして使用します。

QGISのドキュメントに貢献するさまざまな方法があります。私たちは、別途下記それらを公開けれども、それらの両方は、以下のスキームに従っているので、彼らは、いつでも、あなたができることを意味し、害のない一つのプロセスから別のスイッチを相互に排他的ではありません。

  1. リポジトリのad’hocブランチに修正を行います

  2. 変更内容を公開し、プルリクエスト(PR)を介してメインドキュメントにマージを求めます

  3. その他のレビュー、すべてがOKと思われるとき、メインブランチでの作業を議論し、統合します。

GitHubのWebインターフェースを使用して

クローン化されたリポジトリから、あなたは今、メインドキュメントへの変更を提案することができます。確かに、GitHubのWebインターフェイスを使用すると、簡単に方法を提供しています:

  • ファイル、プレビューを編集し、変更をコミット

  • メインリポジトリに挿入された変更内容を持っているために、プル要求を行います

  • 作成、更新または削除支店

GitHubの こんにちは、世界は<https://guides.github.com/activities/hello-world/> _プロジェクトは、以下で使用されるいくつかの基本的な語彙や行動を学ぶために読んでください。

レポでの変更を行います

ドキュメントは、ドキュメントを閲覧しているときに発生した可能性がありhttps://github.com/qgis/QGIS-Documentation/issuesで報告された問題や課題に対処することによって改善することができます。彼らはさまざまな種類があります:誤植、欠落機能、間違った日付の記述のうち...

代替1:リストで問題をピッキング

  1. <https://github.com/qgis/QGIS-Documentation/issues>は `_修正したい`問題を選択します。同じ問題に取り組む多くの人を回避するには、問題レポートにコメントを追加することによって、あなたの選択についての貢献者に通知することができ、それはあなたに割り当てられます。

  2. それがおよそ何思い出させるのに役立ちます名前の枝をリポジトリからは、作成(とに切り替えます)

  3. 変更する必要があるファイルにソースファイルを閲覧

  4. 鉛筆アイコンを使用して編集モードにファイルを切り替え、guidelines に従って修正を行います。

  5. :guilabel:`変更をコミット`フレームを充填して変更内容を検証し、ブランチに直接コミットします。

  6. 問題を修正するために更新する必要がある他のファイルについて上記の手順をやり直します。

2オルタナティブ: ``修正Me``ショートカットを使用します

QGISプロジェクトは、オンラインドキュメントからソースファイルに到達するための簡単な方法を提供します。確かに、代わりのGitHubでソースファイルを閲覧の問題に合ったものを見つけるために、またはマニュアルを読みながら、あなたが問題を見つけた場合、あなたは単にを開くには、ページの下部に「私を修正」リンクをクリックする必要があります編集モードでソースファイル。

  1. このレポへの書き込みアクセス権を持っていないと、変更がリポジトリの新しいブランチに適用されることを知らせるページの上部にメッセージとmaster``支店:これは `` QGISでファイルを開きます。

  2. http://docs.qgis.org/testing/en/docs/documentation_guidelines/で入手可能なガイドライン以下の変更を行います

  3. 完了したら、ページの一番下に、変更内容が何であるかについて少しコメントしてをクリックします:guilabel:ファイル変更`を提案します。これはレポで新しいブランチ( ``パッチxxx`)が生成されます。

ちなみに

master ブランチでさえ``qgis:master``がある場合、リンク qgis 内で``<YourName>``によって安全に置き換えできます。この場合は、変更が行われたら、you need to check radioButtonOn Create a new branch for this commit and start a pull request をチェックしand avoid modifying ``master``の修正を回避する必要があります。

プル要求を経由して、変更内容を共有します

master``:さて、あなたは `` QGISから分岐ファイルとQGISで新しい枝を持っています。公式ドキュメントで変更を統合するには、プルリクエストを行う必要があります。

  1. 変更をコミットした後、実際に、GitHubには、枝を比較する新しいダイアログを開きます。70

    • master``(ベース・フォークは `` QGIS / QGIS-Documentation`:あなたが使用している場合、 `` URLを変更せずにMe``を修正し、その後、比較があなたの パッチxxx``ブランチと `` QGISの間にあります`とその枝` `master)。

    • ブランチを使用した場合は、比較が(ベースは、単に `` master``である)、そのブランチと自分自身の `` master``枝の間に行われ、その後自分で名付けました。そのため、そのページを離れて、次のステップを実行する必要があります。

  2. (コマンドラインからのGitHubへの分岐をプッシュ含む)いずれにせよ、あなたは多くのページからいつでも新しいプルリクエストを作成することができます。単にリポジトリ(あなたまたはQGIS)のメインページに移動し、をクリックしてください:guilabel: 新しいRequest`を引いて:guilabel:(必要な場合) forks`渡って比較してください。あなたは ベースのブランチなどとヘッドフォークは`リポジトリである ` master``と QGIS / QGIS-Documentation``を必ず選択してください1沿って変更した枝付き/ QGIS-Documentation``。

    ちなみに

    QGISの解放と翻訳され、ドキュメントけれども|現在| まだ維持され、既存の問題が固定されています。あなたが現在リリースさdocに問題を解決することを計画している場合、以前の暴露ステップのいずれかに該当する `` manual_en _... ``ブランチで `` master``ブランチを交換してください。73

  3. 比較の枝に沿って緑のチェックは、あなたの変更が自動的に公式のドキュメントにマージできることを示しています。guilabel: `プルrequest`ボタンの作成]をクリックします。あなたは赤い十字を取得する場合、それはあなたが変更されたファイルは、あなたが標的にされているブランチで最新の状態にはなかったことを意味します(コミットあなたのブランチを作成したので、それにプッシュまたは最後に更新されました)。その後、使用する必要があります:REF: `gitのコマンドラインツールを1`それを修正します。

  4. 必要にな場合はフォームに入力し、プルrequestを作成 ボタンをもう一度クリックしてください。

  5. 新しいPRはhttps://github.com/qgis/QGIS-Documentation/pullsに追加され、誰もがそれを見たり、コメントすることができます。

  6. それは トラヴィスCIは、あなたの貢献は、ビルドエラーが含まれていない場合は、<https://travis-ci.org/qgis/QGIS-Documentation> _自動的にチェックを構築トリガされます。エラーの場合には、赤い十字は、あなたのコミットに沿って表示されます。単純にエラーの詳細を持っているページの下部に要約セクションで、その上または `Details`をクリックしてください。あなたは、あなたの変更がリポジトリにコミットされる前に、報告されたエラーや警告を修正する必要があります。

  7. PRが主なレポにマージされるまで、あなたの提案に変更を加えることができます。実際にあなたのブランチに行われた新しい変更があなたのプル要求に追加されます。変更はあなたが固定されている問題に関係している場合はそうでない場合は、上記の手順を、以下、それらの変更のための新しいブランチを作成し、それを実行してください。

  8. すべては、あなたや他の人に良く見えたら、コミッターがメインリポジトリにブランチをマージすることができます。あなたの貢献が検証されます。

  9. 必要であれば、あなたは今、あなたのリポジトリを混雑あまりにも多くの(未使用と時代遅れの)枝を避けるために、あなたが使用するブランチを削除することができます。

この小さなステップを行うと、あなたは簡単にプロセスを学ぶようになります。

警告

` QGISに対する要求を引っ張って警戒する:master``はなく、あなた自身の `` master``ブランチ、そうでない場合は誰もがあなたの変更を認識されていないとあなたが誤ってその歴史を汚染し、あなたの `` master``ブランチに変更をマージします。

ちなみに

プルリクエストから自動的に閉じる問題の報告

問題のレポートの管理を容易にするために、あなたはあなたのプルリクエストに取り組んでいる問題の数に言及。これは、 #のissue_number``を使用して行うことができます。close `` fix``、 ``のような用語が先行する場合には...関係の問題は、すぐにプル要求がマージされるように閉じています。

Gitのコマンドラインツールを使用します

GitHubのWebインターフェイスを使用すると、簡単な方法であなたの寄付でレポを更新したが、それはにツールを提供していないのに役立ちます。

  • グループあなたのコミットとは、変更履歴をきれいに

  • 必要に応じて、メインリポジトリとの競合を解決します...

  • 変更をテストするためのドキュメントを構築

その後、 より高度で強力なツールへのアクセスを取得し、リポジトリのローカルコピーを持っているために、ハードドライブ上の<https://git-scm.com/downloads> _のgitをインストールする必要があります。いくつかの基本あなたは、多くの場合、以下の公開されている必要があるかもしれません。また、あなたがWebインターフェイスを選ぶ場合でも、気にするルールを見つけることができます。

以下のコードサンプルでは、​​行が ````コメントがある一方で、あなたが入力する必要があります `` $ `` showコマンドで始まります。

ローカルリポジトリ

これで**あなたの** QGIS-ドキュメントリポジトリのローカルクローンを取得する準備ができました:

$ cd ~/Documents/Development/QGIS/
$ git clone git@github.com:<YourName>/QGIS-Documentation.git

以前のコマンドラインは、単に一例です。あなたは ``置き換え、パスとリポジトリURLの両方を適応させる必要があります1``自分のユーザー名を持ちます。

ちなみに

パーミッション拒否された(公開鍵)のエラー?

(公開鍵)エラー拒否されたアクセス権を取得する場合は、あなたのSSHキーに問題がある可能性があります。詳細については、_ `GitHubのヘルプ<https://help.github.com/articles/error-permission-denied-publickey/>`を参照してください。

それを確認します。

$ git remote -v
origin  git@github.com:<YourName>/QGIS-Documentation.git (fetch)
origin  git@github.com:<YourName>/QGIS-Documentation.git (push)
$ git branch
* master
  • *起源*は、あなたのQGIS-ドキュメントリポジトリのリモートリポジトリの名前です。

  • マスター*はデフォルトのメインブランチです。あなたは貢献するためにそれを使用しないでください!**決して!*

ここで作業を開始することができますが、あなたはQGIS-ドキュメントリポジトリのmasterブランチなど、あなたの貢献を(githubのプロセスにおけるプル要求と呼ばれる)プッシュされますときに長いテルメプロセスでは、リモート/ローカルのから発散する問題の多くを得るだろうリポジトリ。

別のリモートリポジトリを追加

メインプロジェクトで作業を追跡できるようにするには、ローカルリポジトリに新しいリモートリポジトリを追加します。この新しいリモートリポジトリはQGISプロジェクトからQGIS-ドキュメントリポジトリです。

$ git remote add upstream git@github.com:qgis/QGIS-Documentation.git
$ git remote -v
origin  git@github.com:<YourName>/QGIS-Documentation.git (fetch)
origin  git@github.com:<YourName>/QGIS-Documentation.git (push)
upstream        git@github.com:qgis/QGIS-Documentation.git (fetch)
upstream        git@github.com:qgis/QGIS-Documentation.git (push)

だから今は、2つのリモートリポジトリ間の選択肢があります。

  • **あなたの**リモートリポジトリにあなたのローカルブランチをプッシュする*原点*

  • *上流*(あなたはそうする権利がある場合)公式1にあなたの貢献をマージしたり、公式リポジトリのmasterブランチからローカルリポジトリのmasterブランチを更新します。

ノート

*上流*ちょうどラベル、標準の名前のようなものですが、あなたが望むようにそれを呼び出すことができます。

お使いのベースのブランチを更新

ドキュメントをテストするための( `` master``支店)

新しい貢献に作業を始める前に、あなたは常にあなたのローカルリポジトリにローカルのmasterブランチを更新する必要があります。ただ、このコマンドラインを実行します。

# switch to master branch (it is easy to forget this step!)
$ git checkout master
# get "information" from the master branch in upstream repository
# (aka qgis/QGIS-Documentation's repository)
$ git fetch upstream master
# merge update from upstream/master to the current local branch
# (which should be master, see step 1)
$ git merge upstream/master
# update **your** remote repository
$ git push origin master

今、あなたはQGIS組織からQGIS-ドキュメントを最新に `` master``分岐アップの両方を持っているローカルとリモートのリポジトリを持っています。あなたの寄付での作業を開始することができます。

リリースdocに関する( `` manual_en_``支店)

テストの文書に沿って、私たちはQGISで問題を修正し続ける|現在| ドキュメントは、あなたもそれに貢献できることを意味しています。前のセクションのサンプルコードに続いて、あなたは簡単に対応する分岐を選択していることを行うことができます。

リポジトリのクローンを作成する場合(参照:参照: local_repository)、あなたのクローンは、上流リポジトリのすべての支店を持っています。上記のように、あなたのブランチは、上流の持つ最新のものであることを確認する必要があります。

# change branch e.g. for 2.14 LTR
$ git checkout manual_en_2.14
# get "information" from the manual_en_2.14 branch in upstream repository
$ git fetch upstream manual_en_2.14
# merge update from upstream/manual_en_2.14 to the current local branch
$ git merge upstream/manual_en_2.14
# update **your** remote repository
$ git push origin manual_en_2.14

このように、2.14バージョンのためのあなたのローカルおよびリモートブランチは、公式上流リポジトリの一つと最新です。

本番ブランチに貢献します

今すぐあなたのベースブランチが更新されていることを、あなたはあなたの貢献を追加する専用のブランチを作成する必要があります。必ずベースブランチ以外のブランチで作業!常に!

$ git checkout -b myNewBranch
# checkout means go to the branch
# and -b flag creates a new branch if needed, based on current branch
$ git branch
master
manual_en_2.14
* myNewBranch
# a list of existing branch where * means the current branch
# You can now add your contribution, by editing the concerned file
# with any application (in this case, vim is used)
$ vim myFile
# once done
$ git add myFile
$ git commit

いくつかの単語は、プッシュ/コマンドをコミットします。

  • 唯一の問題は一つだけ貢献(アトミック変化する)すなわちアドレスをコミットしてみてください61

  • コミットのタイトルに、説明に変更するものを丁寧に説明しよう。最初の行は、 `` .``で終わらない、タイトルで、大文字で始まり、80文字の長さを持っている必要があります。簡潔に。あなたの説明は、長いと `` .``終了することができ、あなたは多くの詳細を与えることができます。

  • 問題を参照するために番号を `` #`を使用しています。` Fix``とプレフィックスあなたがチケットを修正する場合:あなたのコミットは、チケットを閉じます。

今、あなたの変更を保存して、ローカルブランチにコミットしていることを、あなたは、プルリクエストを作成するためにあなたのリモートリポジトリに送信する必要があります:

$ git push origin myNewBranch

変更を共有

`プル要求を作成:参照:今すぐあなたのgithubのリポジトリとに行くことができます 1`前のセクションで露出しています。あなたは公式QGIS-ドキュメントリポジトリにターゲッティングされているリモートブランチへのブランチからPRを作成することを確認してください。

クリーンアップあなたのローカルおよびリモートリポジトリ

PRが公式QGIS-ドキュメントにマージされた後、あなたのブランチを削除することができます。あなたはたくさんのをこのように作業している場合は、数週間のうちに、あなたは役に立たない枝の多くを得るだろう。だからあなたのリポジトリには、この方法をきれいに保ちます:

# delete local branch
$ git branch -d myNewBranch
# Remove your remote myNewBranch by pushing nothing to it
$ git push origin :myNewBranch

そして、あなたのローカルリポジトリに `` master``ブランチを更新することを忘れないでください!66