【初心者】Githubでリポジトリ作成&ファイル置いたり操作したり

image

今後カスタムノードとか拡張機能とか作れたらいいなと思って公開用のGithubを作りました。

主にAI開発で作った簡単なツールや拡張機能などを公開していく予定です。

aiai-r – Overview
aiai-r has 20 repositories available. Follow their code on GitHub.

私自身初心者なのでgithubってなに?どんなことできるの?的なことを調べて自分なりにまとめてみました。

なお、Githubは元々gitで管理しているリポジトリを共有するために作られたそうです。

なのでgitとセットで解説されることが多いのですが、gitと分けた方が分かりやすい気がしたので、今回はgithubを直接操作する方法で紹介します。

・gitはこちら

【初心者】Gitの基本的なコマンド操作や意味を学ぶ
前回Githubの操作について書きました。GitはGithubとは別物ですが、Gitが使えるとローカルでの作業やGithubとの連携がスムーズになります。今回はこのGitについて自分なりに調べながらまとめてみました。Gitとは?Gitは分散…

Githubとは?

GitHubは、ソフトウェア開発で使われるファイルやコードをオンライン上で管理・公開できるサービスです。

生成AI触ってる人だとComfyUIとかSDWebUIとか、カスタムノードとか拡張機能とか使ったことがあると思います。

ああいうのを作って公開したり、第三者は利用したり、開発手伝ったり、フィードバック送ったりみたいなことが可能です。

また冒頭で書いた通り、元々gitで管理していたものを共有・公開するためにGithubが作られたそうなので、基本はgitから操作するのが一般的なようです。

GitHub Japan
GitHubはソフトウェア開発のプラットフォームです。GitHubには8000万件以上ものプロジェクトがホスティングされており、2700万人以上のユーザーがプロジェクトを探したり、フォークしたり、コントリビュートしたりしています。

Githubアカウントの作成

以下のリンクにアクセスして右上の「Sign up」をクリックします。

GitHub · Change is constant. GitHub keeps you ahead. · GitHub
Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the la…

GoogleかAppleアカウント、またはメールアドレスで登録が可能です。

image

私はGoogleで連携しました。

連携後、Username(ユーザー名)、Your Country/Region(国)、Email preferences(お知らせ受け取りの有無)を決めて、create accountをクリックします。

image

次に簡単なパズルをやる必要があります。

上が画面上で操作、下が音声で確認するもの。

image

パズルが終わるとdashboardに移動するので、これでアカウント作成は完了です。

Githubにリポジトリを作成

リポジトリは自分が作ったコードやファイルを置く場所のことです。

左上にcreate repositoryがあるのでそれをクリック。

image

次にリポジトリ名や公開設定などを決めていきます。

image
  1. Repository name:リポジトリの名前
  2. Description:リポジトリの説明
  3. Choose visibility:リポジトリの公開設定Public:一般公開
  4. Private:自分だけ、または招待した人だけ閲覧可能

Add README:README.md を自動で作成するかどうか

Add .gitignore:Git を使うときに追跡しないファイルを定義

Add license:公開したコードのライセンス

Create repository:設定した内容でリポジトリを作成

これでリポジトリの作成は完了です。

Githubのリポジトリにファイル・フォルダを作る

今回サンプルとしてomikuji-guiのリポジトリを作ってみました。

image

ここにコードやファイルを置いて第三者が使えるようにします。

ファイルは、Add fileから作成可能です。

image
  • Create new file:リポジトリ上でファイル作成
  • Upload files:ローカルからアップロード

Create new fileで進めるとこんな画面になるので、ファイル名とその中身を入力していきます。

ファイル名は拡張子も必要です。

image

もしフォルダを作ってその中に何らかのファイルを置きたい場合は、フォルダ名入力後、スラッシュを打てば自動でフォルダが作成されます。

例)sample/を入力した場合

image

入力が終わったらCtrl+Sか、右上のCommit changesをクリック。

image

次にどんな変更をしたか説明書いたり、別のブランチにコミット(記録・保存)させたりができます。

特になければそのまま右下のCommit changesでOKです。

image

これでリポジトリにomikuji_gui.pyを作れました。

image

あとは同じ要領で必要なファイルを作成していきます。

image

ファイルの修正

ファイルを修正したい場合はそのファイルをクリックして、Edit this fileから修正できます。

image

コードを直接修正できるので、修正後は作成と同じくCommit changesで反映させてください。

またどこをどう変更したかはファイルページのHistoryから確認可能です。

image

こんな感じで前のコードとの差分(diff)を確認できます。

赤=削除 緑=追加

image

AIに作って貰ったのですが、PySimpleGUIはMITで公開できなかったり、日本語の文字化けやpipの警告とかが出たりしたので、その辺りを修正しました。

ファイル/フォルダを削除する

削除したい場合は、ファイルページの右上にある三点リーダメニューからdelete file、またはdelete directoryで削除できます。

folderの場合は中のファイルも削除されるので注意してください。

image

あとはファイル作成/修正と同じくCommit changesをクリックすれば削除ができます。

ローカルで実行してみる

このリポジトリをローカルに落として実際に実行してみます。

gitインストールしてる方はクローンできます。

git clone https://github.com/aiai-r/omikuji-gui.git

git入れてない方はCode→Download ZIPで落として展開すれば使えます。

image

install.batで仮想環境作り、requirements.txtをインストール。

run.batで仮想環境アクティベート、omikuji_gui.pyを実行します。

PySideで作ったおみくじGUIを表示できました。

処理も問題なさそうです。

image

ブランチを作成する

ブランチはリポジトリ内の独立した開発ラインのことです。

例えば上記のファイルはmainブランチにそのまま置いてます。

ただmainブランチに干渉させず、機能追加や修正を行いたいときがあります。

そういうときは新しいブランチで分岐させて変更が可能です。

新しいブランチを作る場合は、Branchをクリック。

image

右上のNew brachをクリック。

image

そうするとブランチ名とソースとなるブランチを指定できるので、設定してCreate new brachをクリックします。

image

これでブランチを切り替えられるようになります。

image

プルリクエスト/マージする

新しいブランチで機能追加や修正が終わったら、プルリクエスト作成→マージという手順で変更を適用できます。

まずsampleブランチに切り替えて、結果ごとに文字色を変更するコードを追加しました。

# ★★★ ここからが中心的な機能追加 ★★★
    # 結果に応じて文字色を変更する
    if fortune == "大吉":
        color = "red"
    elif fortune == "凶":
        color = "blue"
    else:
        color = "black" # それ以外は黒

    # スタイルシートを使って色と太さを設定
    self.result_label_content.setStyleSheet(f"color: {color}; font-weight: bold;")
    # ★★★ ここまで ★★★

新しいブランチで変更を行ってからPull requestsタブに行くと、変更を適用するためのプルリクエスト作成ボタンが表示されます。

そのままCompare & pull requestをクリックでOKです。

image

ブランチごとにファイルの差分(diif)などが表示されるので、問題なければbaseが取り込む先のブランチ、compareが変更元のブランチになってるのを確認してCreate pull requestでプルリクエストを作成します。

image

あとはMerge pull requestをクリックすれば、sampleで変更した内容をmainにマージできます。

image

実際に確認するとちゃんと反映できてました。

image

こんな感じでブランチを分けて作業すると、元のラインに干渉せず安全に作業が行えます。

あとブランチは修正や変更だけじゃなくそれぞれ独立させて、別のツールとして使えるようなリポジトリもあります。

sd-scripts/sd3とかsd-webui-forge-classic/neoとかが多分そんな感じです。

GitHub - kohya-ss/sd-scripts
Contribute to kohya-ss/sd-scripts development by creating an account on GitHub.
https://github.com/Haoming02/sd-webui-forge-classic/tree/classic

リポジトリを削除する

リポジトリそのものを削除したい場合は、settingsタブを開きます。

image

一番下の方に行くとdelete this repositoryがあるのでそれをクリック。

image

確認画面がでるのでI want to delete~をクリック。

image

再度確認画面がでるので問題なければI have~をクリック。

image

最後にリポジトリ名を入力してdelete this repositoryをクリックすれば削除できます。

image

Githubを使うメリットは?

コミットごとに履歴を残せる(バージョン管理)

Github上でコードを修正してコミットすると、その時点のコードの状態を記録できます。

gitのバージョン管理システムと呼ばれるものがこれで、何らかの問題が発生しても前の状態に戻すことが可能です。

なのでいろいろ開発するのに安全な環境で実行できるというのがメリットの一つです。

フィードバックを貰える

誰かが利用してくれることで、自分で気づけなかった問題などに気づける可能性があります。

人気のあるリポジトリだと日々issuesタブでバグが報告されたり、Discussionsタブで何らかの議論が行われたりしてます。

※ComfyUIのIssues Issues · comfyanonymous/ComfyUI

こういうのを貰えると問題の早期発見もそうだし、新しいアイディアが生まれたりもするので、コードの改善・改良につながったりします。

開発を手伝って貰える(プルリクエスト)

上記では自分でやりましたが、第三者の方が送ってくれる場合もあります。

実際にマージするかどうかはテストしてから自分で決められるし、githubには自動でコードをチェックしてくれる機能もあるようです。

誰かが開発の協力してくれることで、プロジェクトの開発・改良・改善につなげられる可能性があります。

AIエージェントが使える

githubにはgithub copilotというAI コーディング アシスタントを使えるものがあります。

リポジトリを指定してGithub上のコードを修正・変更依頼したり、普通に相談したり。

GitHub Copilot
AI that builds with you

なので、AI開発やバイブコーディングみたいなことをやりたい方は、git使わなくてもある程度対応できるかもしれません。

ChatGPTのplusプラン以上でcodexも使えます。

OpenAI Codexの導入方法と基本の使い方
OpenAI Codexのインストール方法と使い方を、クラウド・CLI・デスクトップアプリ・VS Codeの4つの環境ごとに画像付きで解説します。コードが書けなくても自然言語の指示でコーディングを任せられるAIエージェントです。

ユーザーから支援(寄付)を受けられる仕組みがある

githubには「GitHub Sponsors」という公式の寄付・スポンサー機能があります。

また外部サイト(Buy Me a Coffee, Ko-fiなど)を経由して支援を受け取ることも可能です。

単純に支援してもらえると開発のモチベーション維持や継続につながったりします。

いろいろ練習できる

プライベートリポジトリを設定できるので、コードの修正などはもちろんgithubの操作もこっそり練習できます。

Issue立ててみるとか、ブランチ作ってみるとか、プルリクエスト作成してマージしてみるとか、codex使ってみるとか。

失敗しても誰にもバレないので安心です。

あとローカルにgitインストールして連携すればgitとgithub間の操作も練習できます。

利用するだけの人でも実際に触ると学べることが結構あるので、興味ある方は使ってみてください。

以上githubの使い方を紹介しました。

タイトルとURLをコピーしました