Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。

スポンサー

« ラズパイでDirettaを利用したDSDネイティブ再生が可能 | トップページ | Moode Audio R5.3用のSabreberry32ドライバをリリース »

2019年6月 1日 (土)

遅まきながらGithub利用へ

Linux関連といいますか、RaspberryPi関連のソフトウェアのソースコードをダウンロードする際、避けて通れないのがGitHubです。Githubからソースコードを落としてくることは良くあります。

しかし、アップロード(GithubではPushと呼んでいます)することはあまりないので特に必要性を感じていませんでした。

Github01

でも、秋月のI2C-OLEDにMPDの曲名を表示するPythonのスクリプトなど、自分が書いたソースを置く所がブログのファイル置き場になっていました。wgetコマンドでダウンロードできるので、これといって不都合はないと思っていたのですが、やっぱり格好がつかない(笑

というわけで動機は不純なのですが、超遅まきでGithubへソースコードをアップロードしてみることにしました。

 

Githubの良いところは、ユーザー登録しなくても

  • web上でソースコードを読むことができる
  • 古いバージョンとの差分を簡単に閲覧できる
  • 特定のバージョンを落とせる

ってところかと思います。ユーザー登録すれば他の方のソースをforkしたり、自身で作ったプログラムのバージョン管理、共有、web公開したりできます。

ただし、gitでバージョン管理しようとすると、基本的にコマンド操作が必要になる

コマンドって覚えるのが面倒ですよね。私はDosやUNIX世代ではなくWindows世代なので、ついGUI(グラフィック・ユーザー・インターフェース)が欲しくなってしまいます。

私が過去に使ったことがあるバージョン管理ソフトはWinCVS。チェックイン・チェックアウトという名称で管理サーバーへファイルをアップロードしたりダウンロードしたりしてました。当然GUIソフト。ソースを選択してチェックインボタンを押す。という単純操作ですから迷うことはありません。

 

実はGitにも「Git GUI」と「Github Desktop」というGUIソフトが存在しています。

数年前にGit+Git GUIをインストールしたのですが、エラーがでてうまく使えませんでした。ネット検索しても、エラーが出た時の対策はコマンドで応戦するということで、あっさりくじけました。。。

 

今回は Github Desktopを使って再挑戦

調べてみるとGithub Desktopはもっともシンプルでもっとも低機能。本職のソフト屋さんには物足りないようですが、初心者の私にとっては好都合です。

なんとタグが付けられないというお茶目な仕様ですが、ターミナルを開いておまじない(コマンド)をすると可能らしいです。
https://mike-neko.github.io/blog/gittag/

コマンド1種類くらいなら憶えられそうです。というか、タグって結構重要な機能なので、ぜひボタンひとつで付けさせて欲しいです。。。

 

 

という訳で、mpdの曲名を表示するスクリプトをPush(アップロード)してみました。

1.ローカルでリポジトリを作成。(フォルダができる)

2.そのフォルダにソースコードを入れる。

3.Summary(概要コメント)を入れてCommit to masterを押す。

4.Github(インターネット上)へPushする。

以上の4ステップで公開できます。

 

アップロードしてみたのがこれ。

https://github.com/Takazine/mpd_oled_ctrl

 

Github02

ステップ2のフォルダにソースを入れたところ>

Github Desktop管理下のフォルダは常時監視されていて、ファイルの更新を自動で認識してくれます。なので更新コメントを適当に入れてコミットボタンを押すだけという手軽さ。

 

んまあ、事前準備としてGithubにユーザー登録したり、Github Desktopの初期設定(ユーザー名、パスワード登録)がありますが、それさえ済ませれば上の4ステップでソースをweb公開できるのです。

やってしまえば、意外と簡単でした。Github Desktopサマサマです。

今年の1月からは無料版でもプライベートリポジトリ(非公開リポジトリ)が作れるようになったので、友人と共同でソフト開発なんてことが手軽にできるようになりました。

これは活用しない手はないです。

 

※)ソースコードが洗練されておらず、素人まる出しで恥ずかしいというのが唯一のデメリットですかね。。。

 

 

用語解説的なもの

以下は、私がちょっと悩んだ用語です。いい加減な説明で不適切な部分があるかもしれませんがご了承ください。

Github03

Repository

開発プロジェクトのファイル一式。管理用データベースも含む。

 

Local Repository

個人のパソコンの中のリポジトリ

 

Remote Repository

Github上(クラウド上)のリポジトリ

 

Pull

リモートリポジトリからローカルリポジトリに落としてくること。
リモートの方が最新の場合はローカルへマージしてくれる。ローカルにリポジトリもない一番最初はcloneを使う。

 

clone

リモートリポジトリからローカルリポジトリに完全に一式を落としてくること。

 

Commit

ローカルリポジトリにソースを格納すること。Commitする度に特定のCommit番号ができる。

 

Push

リモートリポジトリにソースを格納すること。クラウド上にアップロード。
PushしてもCommit番号になるようです。Push番号と呼んでいない。

 

fork

他の人のプロジェクトを自分のリモートリポジトリにコピーして持ってくること。

 

Pull Request

fork元のプロジェクトへ自身の改変ソースのマージを申請すること。多分fork元の人がリクエストに応えてマージ作業+デバッグして、承認すれば大元のプロジェクトに自分の改変ソースが反映される。

 

masterブランチ

デフォルトのブランチ=プロジェクトの本流

 

Branch

masterブランチと別仕様に分岐したソース一式を持たせること。例えば、masterブランチを安定版として、Branchで分けた開発版を並列に管理・保存していける。

 

tag

特定のCommit番号に分かりやすい名称を付けること。例えば、v1.0.1というtagを付けておけば、後からそのバージョンのtagでソース一式がダウンロードができる。

 

 

詳しく調べると、Gitのブランチまわりはもっと複雑になっているようですが、Github Desktopでの操作は単純明快に使えるようになっています。使い込んでいって、少しづつ覚えていけばいいんじゃないかと軽く考えてます。

 

 

 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 

 

 

« ラズパイでDirettaを利用したDSDネイティブ再生が可能 | トップページ | Moode Audio R5.3用のSabreberry32ドライバをリリース »

ソフトウェア」カテゴリの記事

コメント

普段からGithubを中心に仕事をしています。
GUIも使いますがCLIで操作することが多いです。

一応LICENSEファイルを置いておくほうがよろしいかと思います。

taknb2nchさん

ありがとうございます。すっかり忘れていたので追加してみました。
GithubはLicenseファイルを最初から持っていて選択するだけで追加できるんですね。

CLI、後々つかっていこうかと思います。

最新の volumio を install する際に OLED のスクリプトを git を使用して install しました。
やはり便利です。いつもは blog の過去のエントリーを探してやっていたものが、最新を常に git から持ってこれるので楽です。
一点。mpd_oled_ctrl の行頭、
'Unit]' は '[Unit]' ですよね。typo かと思うので修正いただけると助かります。git 経由でできるのかも知れませんが。すみません。

くろさん

ご指摘ありがとうございます。
oled_ctrl.serviceの先頭ですね。
コピペしたときに切れてしったようです。
後ほど修正いたします。

私自身、インストールするときにブログを検索して、そこからインストールしていたのですが、githubの方が最新版を見つけやすいですよね。

コメントを書く

(ウェブ上には掲載しません)

« ラズパイでDirettaを利用したDSDネイティブ再生が可能 | トップページ | Moode Audio R5.3用のSabreberry32ドライバをリリース »

サイト内検索

Sponsors link

2019年6月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ