GitLab はコラボレーション機能付きの Git リポジトリであり、無料のオープンリポジトリとプライベートリポジトリの両方を使ってオープンソース開発を効率よく進められます。GitLab には問題追跡や Wiki などの機能が揃っているため、効果的にコラボレーションを行い、すばらしいソフトウェアソリューションを生み出すことができます。似たようなツールに、GitHubBitbucket があります。

CircleCI が GitLab のサポートを開始したことを受け、その使い方をご紹介します。このチュートリアルでは、プロジェクトを GitLab にプッシュする方法について説明します。

前提条件

このチュートリアルを進めるには、いくつかの準備が必要です。

  1. Git の基礎を理解する
  2. Git をローカルシステムにインストールする
  3. GitLab アカウントを用意する
  4. Node.js をインストールする

Our tutorials are platform-agnostic, but use CircleCI as an example. If you don’t have a CircleCI account, sign up for a free one here.

上記の準備が済んだら、チュートリアルを始めましょう。

Node.js プロジェクトをセットアップする

このチュートリアルでは、シンプルな Node.js プロジェクトを Express Generator (Express ライブラリを使用する包括的なユーティリティ) で生成します。Express Generator を使うと、適切に動作する Node.js アプリケーションを即座にセットアップできます。まず、以下のコマンドを実行します。

$ npx express-generator

このコマンドを実行すると、次のフォルダー構造の Node.js プロジェクトが生成されます。

    ├── app.js
    │   └── bin
    │       └── www
    ├── package.json
    ├── public
    │   ├── images
    │   ├── javascripts
    │   └── stylesheets
    │       └── style.css
    ├── routes
    │   ├── index.js
    │   └── users.js
    └── views
        ├── error.jade
        ├── index.jade
        └── layout.jade

Git を初期化する

作成したファイルを GitLab にプッシュする前に、Git を初期化する必要があります。

以下を実行します。

git init

上記 git init コマンドでは、Node.js のプロジェクトディレクトリが新しい Git リポジトリに変換されます。ディレクトリが Git リポジトリになったことを確認するには、git status コマンドを実行します。Git から以下のような出力が生成されれば成功です。

Git でファイルを追跡する

プロジェクトディレクトリを Git リポジトリに変換できましたが、まだこのディレクトリ内のファイルは Git の追跡対象になっていません。git add . 機能は、未追跡のファイルすべてを “ステージング領域” に追加します。これを実行すると、Git で変更が追跡されるようになります。再度 git status コマンドを実行すると、ファイルが Git の追跡対象になったことを確認できます。

Git init and git status output for staged files

ファイルをコミットする

ここまでに、新しい Node.js プロジェクトの作成、Git リポジトリの作成、ステージング領域へのファイルの追加を行いました。次は、これらに対する変更内容の永続的なスナップショットを作成します。つまり、コミットです。

コミットするたびに、リポジトリの現在の状況 (名前、タイムスタンプ、変更をコミットした人のメッセージなど) がすべて記録されます。メッセージは、コミットを実行した人や将来のユーザーにとって変更の理由がわかるメモとなるので、入力するようにしましょう。

以下を実行します。

git commit -m "initial project commit"

git status

-m 以降に入力したテキストがコミットメッセージとなります。

GitLab にプッシュする

プッシュとは、すべてのローカルコミットをリモートリポジトリにアップロードすることです。プッシュを行うと、自分がファイルに加えた変更が他の作業者にも公開されます。このプロセスは 2 つの作業からなります。

  1. GitLab リポジトリを作成する
  2. GitLab にプロジェクトをプッシュする

GitLab リポジトリを作成する

ブラウザーを開き、GitLab.com にアクセスしてログインします (まだログインしていない場合)。ページの左上にあるプラス記号アイコンをクリックします。[New project/repository (新規プロジェクト/リポジトリ)] を選択します。次に、[Create blank project (空のプロジェクトを作成)] をクリックします。

Create repository

Project name (プロジェクト) 名を入力し、プロジェクトの Visibility level (可視性レベル) を選択してから、[Create Project (プロジェクトを作成)] をクリックします。このチュートリアルでは、demo-repository という名前にしました。この名前は後で使用するので、メモしておいてください。

New repository

これで、新しいリポジトリの完成です。今回初めてリポジトリを作った方、おめでとうございます。プログラミングの大きな段階を 1 つ超えました。

このページで引き続き、以降の手順を行います。

GitLab にプロジェクトをプッシュする

前述のとおり、ローカルリポジトリで既に変更をコミットしました。今度は、その変更を新しく作成した GitLab リポジトリにプッシュします。

以下を実行します。

git remote add origin https://gitlab.com/godwinekuma/demo-repository.git
git branch -M 'main'
git push -u origin 'main'

: 上記サンプルの GitLab ユーザー名を自分の GitLab ユーザー名に置き換えてください。

上記のコマンドを実行したら、ブラウザーのページを再読み込みします。これで、プロジェクトのファイルとフォルダーがオンラインリポジトリに表示されます。

![既存のリポジトリをプッシュする]2023-06-20-existing-repo

以下のコマンドを順に実行すると、リポジトリをさらに更新できます。

git add .
git commit -m "Commit message"
git push origin main

サンプルメッセージ (Commit message) は、みなさんにわかりやすいメッセージに置き換えてください。main 以外のブランチで作業する場合は、そのブランチ名で main を置き換えてください。Git のブランチ機能の詳細については、こちらを参照してください。

まとめ

GitLab などの Git ベースのバージョン管理システムは、ソフトウェア開発をはじめ、バージョン管理が必要な分野で幅広く使われています。これらのツールについて知っておくことは、開発者としてのレパートリー強化に不可欠です。このガイドでは、ローカルマシン上の Git リポジトリを GitLab に転送する方法について説明しました。

Git と GitLab を学ぶことは、GitLab リポジトリ用の継続的インテグレーション パイプラインのセットアップなど、次の段階へ進むうえで重要になります。ぜひCircleCI に登録して GitLab リポジトリを連携し、開発に不可欠な信頼性、柔軟性、スピードを手に入れてください。