ノート
手順を説明するためにQGIS文書を使用していますが、以下で示すコマンドおよび手順はすべてQGISウェブサイトにも適用されます。
Now that you know the rules to follow to write a clean doc for QGIS, let’s dive in the process of production of this documentation and how quickly and safely share your changes with the community.
Assuming you already have a GitHub account, you first need to clone the source files of the documentation in order to have your own copy you can work on: go to the QGIS-Documentation repository page (for convenience, this repository is called below qgis/QGIS-Documentation) and click on the Fork button in the upper right corner.
Few seconds later, in your GitHub account you find a QGIS-Documentation repository (https://github.com/<YourName>/QGIS-Documentation). This repo is a safe copy in which you have full write access and can push all your contributions without a risk to affect the official documentation. At the beginning, this repository contains the same branches as qgis/QGIS-Documentation and is defaulted to master branch. Branches are parallel lines of development containing different snapshots of the doc that may merge or diverge. Preferably create a branch for each issue you want to tackle and you can create as many branches as you want.
ちなみに
Do your changes in an ad’hoc branch, never in master
By convention, avoid making changes in your master branch except merging the modifications from the master branch of qgis/QGIS-Documentation (called qgis:master). And use it as model to create new branches for a clean history and snapshot.
There are different ways to contribute to QGIS documentation. Though we expose them below separately, they are not mutually exclusive, meaning that you can, at any moment, switch from one process to another without any harm because they both follow the scheme below:
From your cloned repository, you can now propose changes to the main documentation. Indeed, GitHub web interface offers you ways to easily:
GitHubの こんにちは世界 プロジェクトを読んで、以下で使用されるいくつかの基本的な語彙や行動を学んでください。
Documentation can be improved by addressing issues reported at https://github.com/qgis/QGIS-Documentation/issues or issues you may have encountered while browsing the doc. They can be of different types: typo error, missing feature, wrong or out of date description...
The QGIS project provides an easy way to reach source file from online documentation. Indeed, instead of browsing the source files in GitHub to find the one that suits the issue, or if you find an issue while reading the manuals, you simply have to click the “Fix Me” link at the bottom of the page to open its source file in Edit mode.
This will open the file in the qgis:master branch with a message at the top of the page telling you that you don’t have write access to this repo and your changes will be applied in a new branch of your repository.
Note that if you have commit rights to QGIS-Documentation repository, then no message will show and you’ll directly modify qgis:master branch itself unless you save your changes in another branch.
Do your changes following guidelines available at http://docs.qgis.org/testing/en/docs/documentation_guidelines/
When you finish, at the bottom of the page, comment a bit what your changes are about and click on Propose File change. This will generate a new branch (patch-xxx) in your repo.
ちなみに
If your master branch is even with qgis:master, you can safely replace in the link qgis by <YourName>. In this case, once your changes are done, you need to check Create a new branch for this commit and start a pull request and avoid modifying master.
GitHub web interface helps you update the repo with your contribution in an easier way but it doesn’t offer tools to:
変更をテストするための文書を構築する
You then need to install git on your hard drive in order to get access to more advanced and powerful tools and have a local copy of the repository. Some basics you may often need are exposed below. You’ll also find rules to care about even if you opt for the web interface.
以下のコードサンプルでは、 $ で始まる行はあなたが入力する必要があるコマンドを示し、 # はコメントです。
これで あなたの QGIS-ドキュメントリポジトリのローカルクローンを取得する準備ができました:
$ cd ~/Documents/Development/QGIS/
$ git clone git@github.com:<YourName>/QGIS-Documentation.git
以前のコマンドラインは、単に一例です。 <YourName> をご自分のユーザー名で置き換え、パスとリポジトリURLの両方を適合させる必要があります。
確認してください:
$ git remote -v
origin git@github.com:<YourName>/QGIS-Documentation.git (fetch)
origin git@github.com:<YourName>/QGIS-Documentation.git (push)
$ git branch
* master
origin は、あなたのQGIS-ドキュメントリポジトリのリモートリポジトリの名前です。
master はデフォルトのメインブランチです。あなたは貢献するためにそれを使用しないでください! 決して!
ここで作業を開始できますが、長期のプロセスでは、あなたの貢献をプッシュする(githubのプロセスではプルリクエストと呼ばれる)ときには、QGIS文書リポジトリのマスターブランチはあなたのローカル/リモートリポジトリからは違ってきているので、多くの問題が出るでしょう。
メインプロジェクトで作業を追跡できるようにするには、ローカルリポジトリに新しいリモートリポジトリを追加します。この新しいリモートリポジトリは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つのリモートリポジトリ間の選択肢があります。
origin あなたの リモートリポジトリにあなたのローカルブランチをプッシュする
upstream あなたの貢献を公式のものにマージ(そうする権利がある場合)したり、公式リポジトリのマスターブランチからローカルリポジトリのマスターブランチを更新します。
ノート
upstream はただのラベルで、標準の名前のようなものですが、好きなようにお呼びください。
新しい貢献に作業を始める前には、常にローカルリポジトリ中のローカルの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 ブランチが最新になっています。あなたの貢献での作業を開始できます。
Along the testing documentation, we continue to fix issues in QGIS 2.18 doc, meaning that you can also contribute to it. Following the previous section sample code, you can easily do that by selecting the corresponding branch.
リポジトリのクローンを作成するとき( ローカルリポジトリ 参照)、あなたのクローンは上流リポジトリのすべてのブランチを持っています。上記のように、あなたのブランチが上流のもので最新になっていることを確認する必要があります:
# 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
In this way your local and remote branches for the 2.14 version are up to date with the one of the official upstream repository.
ベースブランチは更新されましたので、次はご自分の貢献を追加する専用のブランチを作成する必要があります。作業は必ずベースブランチ以外のブランチで!常に!
$ 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
commit/pushコマンドについて一言:
一つだけの貢献(原子的変更)コミットするようにしてください、すなわち1つの問題だけアドレス
コミットのタイトルおよび説明の中で、変更するものを丁寧に説明するようにしてください。最初の行はタイトルで、大文字で始まり80文字の長さを持っていること、 . では終わらないことが必要です。簡潔に。説明はより長くでき、 . で終了でき、より多くの詳細を与えることができます。
問題を参照するために # を番号とともに使用してください。チケットを修正する場合は Fix でプレフィックスしてください:コミットするとチケットは閉じます。
今、変更は保存されローカルブランチにコミットされましたので、プルリクエストを作成するためにリモートリポジトリに送信する必要があります:
$ git push origin myNewBranch
PRが公式QGIS文書にマージされたらブランチは削除してかまいません。このような方法で多くを作業している場合は、数週間のうちに、役に立たない多くのブランチができるでしょう。だからこのような方法でリポジトリをきれいに保ちましょう:
# delete local branch
$ git branch -d myNewBranch
# Remove your remote myNewBranch by pushing nothing to it
$ git push origin :myNewBranch
そしてローカルリポジトリ中の master ブランチを更新することを忘れずに!