すでに、新規のプロジェクトを作成したり、既存のバイナリーアプリケーションをプロジェクトに変換したりして、プロジェクトデータベース を実際に触ってみた方も多いことと思います。それでは、Git (バージョン管理システム) と Github の組み合わせを、4Dアプリケーションのホスティングサービスとして使用する方法を紹介しましょう。
4Dプロジェクトデータベース
先に進む前に、このブログの記事の手順を試すには、4D v17 R5 以降が必要です。また、プロジェクトデータベースを作成する方法、あるいは、既存アプリケーションをプロジェクトに変換する方法を知っていることを前提としています。この 2点について知る必要があることは、すべてドキュメントと ブログ記事でカバーされています。
GitとGithubの違い
Git と Github には違いがあることを覚えておくことが重要です。
Git
分散したチームによる大きなプロジェクトがどのように達成されるのか、不思議に思ったことはありませんか? たとえば、何十万人もの人が同時に作業している Linux のプロジェクトなどです。答えは簡単で、Git を使っているのです。Git はバージョン管理システム (別名VCS : Version Control System) であり、ソースコードの履歴を管理・追跡することができます。
Github
Github はクラウドベースのホスティングサービスで、コードを他の人と共有したり Gitリポジトリを管理したりすることができます。
Gitのインストール
すでにあなたのマシンに Git がインストールされている場合は、次のセクションに進むことができます。そうでない場合は、 ここからダウンロードしてください。
GUI ツール
Git はコマンドラインからも操作できますが、ワークフローを高速化する GUIクライアントがいくつかあります。Github Desktop は、Github によって開発された、macOS と Windows の両方で使えるツールの一つです。グラフィカルユーザーインターフェースのツールを使うか、コマンドラインインターフェースを使うか、どちらでも選ぶことができます。このブログ記事では、コマンドラインインターフェースを使用して、裏側で何が起こっているのかを確認します。
Github のセットアップ
次に、Github をセットアップする必要があります。まず、Github のアカウントが必要です。このリンクから、プロフィールの作成、プランの選択、ユーザーエクスペリエンスの指定を行ってください。このプロセスは非常に簡単で、ユーザーフレンドリーです。
![]() |
![]() |
![]() |
重要な専門用語
手を動かす前に、Git を使って作業する際に繰り返し使う用語がいくつかあります:
- リポジトリ (repo): Gitリポジトリは、プロジェクトに必要なすべてのファイル、フォルダー、コンテンツを格納するディレクトリです。
- リモート: サーバーにホストされているリポジトリやブランチのこと。
- クローン: リポジトリをローカルにコピーすることをいいます。クローンしたリポジトリはオリジナルと繋がっていて、プッシュやプルといった操作をおこなうことができます。
- ローカル: あなたのコンピューターにあるローカルリポジトリで、すべてのファイルとそのコミット履歴があります。
- ブランチ: メインの作業プロジェクト (masterブランチ) から分岐した、リポジトリのバージョンの一つです。ブランチは、リポジトリの新しいバージョン、実験的な変更、またはユーザーが作業するために個人的なフォークしたものなど、様々な用途に使えます。
- コミット: ファイルまたはファイルのセットに対する個々の変更のこと。
- プッシュ: ローカルブランチで行われたコミットをリモートブランチに反映させること。文字通り、変更をリモートに “押し込む” ことを表しています。
- プル: リモートブランチのコミットをローカルブランチに反映させること。文字通り、変更をローカルに “引き込む” ことを表しています。また、誰かがプロジェクトの別のブランチでコードを変更し、それを master ブランチに追加するためにレビューしてもらいたい場合、リポジトリの管理者にそのコミットをレビューしてもらうためのプルリクエストを作成します。受け入れられればブランチをマージしてもらいます。このように、変更を master ブランチに追加するときにもプルといいます。
- ステージング。コミットしたいファイルのキャッシュと考えればよいでしょう。
もっと詳しく知りたい方は、用語集をご覧ください。
プロジェクトのセットアップ
この4Dアプリケーションをサンプルに作業してみましょう。

ターミナルを開き、4Dプロジェクトのディレクトリに移動します。
![]()
次に、ローカルリポジトリを初期化します。git init コマンドを入力しましょう。
![]()
git init は 4Dプロジェクトフォルダー (Projectフォルダーではないことに注意!) で実行されたので、その中のファイルは Git に追跡されていないファイルとして検知されます。 git status コマンドは、ローカルリポジトリに追加可能な変更されたファイル (あるいは新しいファイル) を一覧表示します。

その結果、3つの要素がまだインデックスに含まれていないことがわかります。つまり、これらの要素のコミットはまだできません。 git add . コマンドは、作業ディレクトリ全体を調査して新規ファイルや削除済みファイル、変更済みファイルを探し、インデックスに追加します。
![]()
もう一度 git status を実行すると、ファイルをコミットする準備ができたことがわかります。

さて、いよいよステージングエリアにあるファイルをローカルリポジトリに送信する時が来ました。これを行うには、git commit -m “message” コマンドを使用します。バックアップとして機能するよう、コミットメッセージは明確かつ明示的であるべきです。
注意: プロジェクトのディレクトリに、追跡されたくないファイルやディレクトリが存在することがあります。これらの、リポジトリで無視すべきファイルやディレクトリ、パターンを Git に指示するには、.gitignoreファイルを作成しなければなりません。上の例では、journal、preferences、.4dd、DerivedDataフォルダーのようなファイルやフォルダーです。次回のブログ記事で、その方法を紹介します。

作業ディレクトリ内のファイルがローカルリポジトリにコミットされたので、次のステップではこれらの変更をリモートリポジトリにプッシュして、チームで共有します。では、GitHub のアカウントにアクセスしてリポジトリを作成しましょう。

Clone or download ボタンをクリックすると、リンクが表示されます。これが Github リポジトリの URL です。このリンクをコピーします。

ターミナルに戻って次のように入力します。git remote add origin と入力し、その後に先ほどコピーした Githubリポジトリへのリンクを入力します。 Enterキーを押下します。
![]()
いよいよ git push origin master を使って Github にアプリケーションを送信します。ユーザー名やパスワードの入力を求められたら、GitHub のアカウントを作成したときの認証情報を入力します。

すべてのファイルがリモートリポジトリに送信されたことを Github 上ですぐに確認することができます。

おめでとうございます! あなたのコードは今、クラウド上にあります。
このブログ記事では、Git と Github の違い、最もよく使われる Git の用語、最初のリポジトリの作成、Github に 4Dアプリケーションの追加について紹介しました。次回のブログ記事では、Git のアーキテクチャーを説明し、Git と 4Dアプリケーションで最もよく使われるアクションの例をいくつか見ていきます。

