1. GitHubにソースを上げてみる
GitHub側のリポジトリ作成
キャプチャを撮り忘れていました...
何個めかのリポジトリです
まずは空っぽでも大丈夫。
リポジトリ名は、プラグインのIDと同じ名前にします
redmineの plugins/ ディレクトリ以下にgit cloneすると、そのリポジトリ名のままでディレクトリが作成されます
基本は、init.rb で指定したプラグインのIDと一致するディレクトリ名にしておくほうが無難
init.rb は読み込まれても、ほかのコントローラやViewの配置先を解決できずエラーになることがあります
できたリポジトリ
code:ruby
# registerの引数の "redmine_issue_stamps" がIDになります
# plugins/ 以下にはこの "redmine_issue_stamps" というディレクトリ名でソースを配置することになります
Redmine::Plugin.register :redmine_issue_stamps do
name 'Redmine Issue Stamps plugin'
author 'Akiko Takano'
description 'This is a plugin for Redmine, which enables to display approval stamps on issue description page.'
version '0.0.1'
url ''
end
ライセンスを追加しちゃいましょう!
今回素材にしているRedmineは、オープンソースで公開されています。
また、GNU General Public License v2でのライセンスとなっています。
いくつか作っているわたしのプラグインも、同じように GNU General Public License v2 での公開を行なっています。
さて、GitHubでリポジトリ作成すると、空っぽの場合でもREADMEやライセンスファイルを自動で生成してくれる機能があります。
今回も、画面からGPL v2のライセンスを選んでみました。
ライセンス追加にあたっては、こちらも参考に
Git Cloneしてmasterにコミットしよう
GitHub側にリポジトリを作成したら、git cloneしてきます
最後に git push origin master でGitHub側に反映となります
developブランチを作ろう
masterブランチは基本は安定して出荷可能なものを公開するようにしています。なので、基本は開発中は developブランチやトピックブランチを作ってそちらでコミットを重ねて、だいたいよくなったらmasterにマージする流れをとっています。
(わたしの場合)
ということで、今後いろいろ想定して、developブランチを作ります。
https://gyazo.com/aa6b10aa7e1bebb15f26fe369fc27349
こんな感じです。
code:bash
redmine_issue_stamps $ git branch
* master
redmine_issue_stamps $ git checkout -b develop
Switched to a new branch 'develop'
redmine_issue_stamps $ git diff
redmine_issue_stamps $ git push origin develop
Total 0 (delta 0), reused 0 (delta 0)
To github.com:akiko-pusu/redmine_issue_stamps.git
redmine_issue_stamps $ git branch
* develop
master
redmine_issue_stamps $ git commit --allow-empty -m "README調整、test追加用のPRのためメッセージのみコミット"
redmine_issue_stamps $ git push origin develop
Counting objects: 1, done.
Writing objects: 100% (1/1), 268 bytes | 268.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To github.com:akiko-pusu/redmine_issue_stamps.git
b9aefb8..459b870 develop -> develop
まずdevelopブランチに対して、Empty commit (コードは変更なしだけど、コミットメッセージだけ追加)をします。
そして一度 GitHubにdevelopブランチをpushしてから、GitHub上で master <- developへのプルリクエストを作りました。
今回のプルリクエストは、実際の実装はこれからですが、こんな感じです!