エディタでのGitの使用
エディタでのGitの使用
はじめに
Git とは?
Git(「ギット」と読みます)は、ソフトウェア開発プロジェクトで広く使われているコードのバージョン管理システムです。主に次のことができます。
- コードの履歴を残し、過去の状態に戻れるようにする
- 複数の端末を同期し、衝突を抑えながら同じファイルをチームで編集する
- 同じコードの複数のバージョンを維持し、動いているバージョンを壊さずに開発や実験を行う
- プロジェクトを簡単にバックアップする
Git でバージョン管理されたフォルダはリポジトリ(_repository_、略して _repo_)と呼ばれます。
フォージとは?
Git はローカル(自分のマシン上や Leek Wars のエディタ内)で使えるソフトウェアですが、ソフトウェアフォージと連携することもできます。フォージとは、Git リポジトリをホストするサーバーのことです。
Leek Wars は複数のフォージに対応しています。最も簡単なのは、次の中から 1 つ選ぶことです。
- GitHub:Microsoft(米国)のプロプライエタリなサービス。Leek Wars のコードもここでホストされています。
- GitLab.com:GitLab(米国)の公式インスタンス。GitLab はセルフホスト可能な自由ソフトウェアです。
- Bitbucket:Atlassian(米国)のプロプライエタリなサービス。
- Codeberg:Forgejo の公式インスタンス。Forgejo はコミュニティ主導でセルフホスト可能な自由ソフトウェアで、ドイツの非営利団体が運営しています。
GitLab、Bitbucket、Forgejo、Gitea、Gogs をベースにした他のフォージ(たとえば framagit.org や gitea.com)も使えます。
既存の AI で Git を使う
まず、AI はルートではなくフォルダの中に置く必要があります。フォルダを作成し、そのフォルダを右クリックして「Gitリポジトリを初期化」を選択してください。このフォルダに、Git で管理するすべてのファイルが入ります。
ファイル一覧(左メニュー)の上部に、枝分かれのアイコンが付いた Git タブが現れます。そこを開いてください。
コミットする
(コミット=変更の記録のこと)
Git タブの上部で、ドロップダウンの選択肢から目的のリポジトリが選ばれていることを確認してください(複数ある場合)。
リポジトリ内のファイルを変更すると、その変更が Git タブに表示されます。この時点ではまだステージされていない状態です。いわば下書きで、まだ履歴に刻まれてはいません。
変更を履歴に記録したいときは、➕ ボタンをクリックしてステージします。「コミットメッセージ」欄に変更内容を数語で要約し、確定してください。
注:Git タブのボタンをすべて見るには、右端をドラッグしてタブを右に広げる必要があるかもしれません!
履歴はコミットのリストであり、各コミットは日付とメッセージを伴う変更のまとまりです。目的は、ある変更がいつ行われたかを突き止めたり、過去に戻ったり、中途半端に動くコードにならないよう変更をまとめたりできるようにすることです。
フォージに接続する
フォージ側の設定
Git フォージにアカウントを作成し、そこに空のリポジトリを作成してください。リポジトリのアドレスを確認します。https://exemple.net/mon-pseudo/mon-depot.git のような形で、リポジトリのメインページのアドレスの末尾に .git を付けたものです。
次に、Leek Wars がリポジトリにアクセスできるよう許可する必要があります。手順はフォージによって異なります。
- GitHub:最も簡単なのは、エディタから直接 Leek Wars の GitHub App をインストールすることです(後述)。代わりにトークンを作成することもできます。プロフィール → Settings → Developer Settings(一番下)をクリックし、開いたページで Personal access tokens → Tokens (classic) を選択します。有効期限(たとえば 90 日)を選び、リポジトリに参加するのに必要な権限だけを与えてください。
- Forgejo:アカウント設定 → アプリケーション → 新しいアクセストークン。「repository」への読み取りと書き込みのアクセスを許可してください。
トークン(_token_)を作成した場合は、なくさないように大切に保管してください!
Leek Wars 側の設定
Git タブの下部にある雲のボタン「リモート設定」をクリックします。
ここでリモートリポジトリ(リモート)を宣言します。名前(たとえば origin)を入力し、リポジトリの URL を貼り付けて「追加」ボタンをクリックしてください。この手順は、何かをプッシュする前に必ず必要です。
認証には、使用するフォージ(GitHub、GitLab、Bitbucket、Forgejo)を選びます。
- GitHub:基本の手順は「GitHub App をインストール」ボタンです。インストール時にアクセスを許可するリポジトリを選び、Leek Wars に戻ると、それらのリポジトリの中からリモートを直接選択できます。代わりに、Personal Access Token を「アクセストークン」欄に貼り付けることもできます。
- GitLab と Bitbucket:トークンを「アクセストークン」欄に貼り付けます。gitlab.com や bitbucket.org ではなくセルフホストのインスタンスを使う場合は、「セルフホストインスタンス」にチェックを入れてフォージのアドレスを入力してください(このチェックボックスは GitHub にもあります)。
- Forgejo:このフォージには「セルフホストインスタンス」のチェックボックスはなく、インスタンスのアドレス欄が常に表示されています(codeberg.org があらかじめ入力されています)。必要に応じて自分のインスタンスのアドレスを入力し、トークンを「アクセストークン」欄に貼り付けてください。
コミットをサーバーに送る
この時点では、コミット履歴は Leek Wars 内にしか記録されていません。フォージに送るには、Git タブの一番下にある ⬆ ボタンでプッシュします。
新しいコミットを送りたくなったら、そのたびにプッシュしてください。
その他の機能
エディタと Git タブでは、次のこともできます。
- リポジトリのクローン:ファイルメニュー → 「Gitリポジトリをクローン」で、リポジトリの URL と保存先フォルダを指定します。
- プル (pull):「プル (pull)」ボタンでリモートのコミットを取得します。マージまたはリベースの戦略を選べます(「プル戦略」)。
- ブランチ:ブランチセレクタでブランチの切り替え、作成(「新しいブランチ...」)、リモートブランチの表示ができます。
- 履歴と差分:「履歴」ボタンでコミットの一覧が表示され、変更されたファイルをクリックすると差分が表示されます。
- コンフリクトの解消:マージやリベースでコンフリクトが起きた場合、エディタ上で解消して続行できます。
- 最後のコミットを取り消す:取り消したコミットの変更はステージに残ります。
- リポジトリを圧縮:リポジトリが占める容量を減らします(クォータ対策に便利です)。
- 内蔵 Git ターミナル:エディタが実行した Git コマンドのログを表示します。