正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

チュートリアル: 初めてのGitコミットを行う

このチュートリアルでは、Gitの基本的な仕組みを体験できます。プロジェクトを自分で作成し、ファイルを編集し、コマンドラインからGitリポジトリに変更をコミットする手順を学びます。

チュートリアルを完了すると、Gitの使い方を練習できるプロジェクトが完成します。

はじめる前

Gitとは

手順に入る前に、Gitの基本的な概念について説明します。

Gitは、バージョン管理システムです。ファイルへの変更を追跡するために使用します。

コードやドキュメントなどのファイルをGitリポジトリに保存します。ファイルを編集する場合は、リポジトリのクローンをコンピュータに作成し、変更を加え、変更をリポジトリにプッシュします。GitLabでは、Gitリポジトリはプロジェクトにあります。

変更をプッシュするたびに、Gitは変更を一意のコミットとして記録します。これらのコミットにより、ファイルの変更日時、ファイルの変更内容、ファイルの変更者の履歴を構成します。

%%{init: { "fontFamily": "GitLab Sans" }}%%
graph LR
    accTitle: Repository commit history
    accDescr: Flowchart showing linear changes to a repository history

    subgraph Repository commit history
    direction LR
    A(Author: Alex<br>Date: 3 Jan at 1PM<br>Commit message: Added sales figures<br> Commit ID: 123abc12) --->  B
    B(Author: Sam<br>Date: 4 Jan at 10AM<br>Commit message: Removed old info<br> Commit ID: aabb1122) ---> C
    C(Author: Zhang<br>Date: 5 Jan at 3PM<br>Commit message: Added invoices<br> Commit ID: ddee4455)
    end

Gitリポジトリで作業するときは、ブランチで作業します。デフォルトでは、リポジトリの内容はデフォルトブランチにあります。変更を加えるには、次の手順に従います:

  1. ブランチを自分で作成します。このブランチは、作成時のデフォルトブランチのスナップショットです。
  2. 変更を加え、変更をブランチにプッシュします。プッシュするたびにコミットが作成されます。
  3. 準備ができたら、ブランチをデフォルトブランチにマージします。
%%{init: { "fontFamily": "GitLab Sans" }}%%
flowchart LR
    accTitle: Use branches in Git
    accDescr: The flow of creating, then using, a branch in Git

    subgraph Default branch
    A[Commit] --> B[Commit] --> C[Commit] --> D[Commit]
    end
    subgraph My branch
    B --1#46; Create my branch--> E(Commit)
    E --2#46; Add my commit--> F(Commit)
    F --3#46; Merge my branch to default--> D
    end

ここまでの説明で少しとまどっているかもしれませんが、大丈夫です。これから、これらの概念がどのように機能するのかを見ていきます。

ステップ

これから次の手順を実行します:

  1. サンプルプロジェクトを作成する
  2. リポジトリのクローンを作成する
  3. ブランチを作成して変更を加える
  4. 変更をコミットしてプッシュする
  5. 変更をマージする
  6. GitLabで変更を表示する

サンプルプロジェクトを作成する

まず、GitLabでサンプルプロジェクトを作成します。

  1. GitLabの左側のサイドバーの上部で、新規作成 plus )を選択し、新規プロジェクト/リポジトリを選択します。
  2. プロジェクト名に、My sample projectと入力します。プロジェクトslugが生成されます。このslugは、作成後にプロジェクトにアクセスするために使用できるURLです。
  3. リポジトリを初期化しREADMEファイルを生成するが選択されていることを確認します。他のフィールドは自由に設定してください。
  4. プロジェクトを作成を選択します。

リポジトリのクローンを作成する

プロジェクトでリポジトリのクローンを作成できるようになりました。リポジトリのクローンを作成するということは、コンピュータ上、またはファイルを保存および操作する場所にコピーを作成することを意味します。

  1. プロジェクトの概要ページの右上隅で、コードを選択し、SSHでクローンのURLをコピーします。

    赤い矢印が、ページの右上隅にあるクローンボタンとSSHでクローンオプションを示しています

  2. コンピュータでターミナルを開き、ファイルのクローンを作成するディレクトリに移動します。

  3. git cloneと入力し、URLを貼り付けます:

    git clone git@gitlab.com:gitlab-example/my-sample-project.git
  4. ディレクトリに移動します:

    cd my-sample-project
  5. デフォルトで、リポジトリのデフォルトブランチのクローンを作成しました。通常、このブランチはmainです。念のため、デフォルトブランチの名前を取得します:

    git branch

    作業中のブランチにアスタリスクが付いています。キーボードのQを押して、メインのターミナルウィンドウに戻ります。

ブランチを作成して変更を加える

リポジトリのコピーを作成したので、ブランチを自分で作成して、変更を個別に操作できます。

  1. example-tutorial-branchという名前の新しいブランチを作成します。

    git checkout -b example-tutorial-branch
  2. Visual Studio Code、Sublime、viなどのテキストエディタで、README.mdファイルを開き、次のテキストを追加します:

    Hello world! I'm using Git!
  3. ファイルを保存します。

  4. Gitは変更されたファイルを追跡します。どのファイルが変更されたかを確認するには、状態を取得します。

    git status

    次のような出力が得られるはずです:

    On branch example-tutorial-branch
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
    modified:   README.md
    
    no changes added to commit (use "git add" and/or "git commit -a")

変更をコミットしてプッシュする

リポジトリ内のファイルを変更しました。ここでは、初めてのコミットを実行し、それらの変更を記録します。

  1. README.mdファイルをステージングエリアに追加します。ステージングエリアは、コミットする前にファイルを配置する場所です。

    git add README.md
  2. ファイルがステージされたことを確認します:

    git status

    次のような出力が表示され、ファイル名が緑色のテキストで表示されるはずです。

    On branch example-tutorial-branch
    Changes to be committed:
    (use "git restore --staged <file>..." to unstage)
    modified:   README.md
  3. 次に、ステージされたファイルをコミットし、加えた変更を説明するメッセージを含めます。メッセージは必ず二重引用符(")で囲んでください。

    git commit -m "I added text to the README file"
  4. 変更はブランチにコミットされましたが、ブランチとそのコミットは、まだ自分のコンピュータでしか使用できません。まだ誰もアクセスできません。ブランチをGitLabにプッシュします:

    git push origin example-tutorial-branch

ブランチがGitLabで使用可能になり、プロジェクト内の他のユーザーに表示されるようになりました。

ページの左上隅で、赤い矢印がブランチ切り替えエリアを示し、作成したブランチを指しています

変更をマージする

これで、example-tutorial-branchブランチからデフォルトブランチ(main)に変更をマージする準備ができました。

  1. リポジトリのデフォルトブランチをチェックアウトします。

    git checkout main
  2. ブランチをデフォルトブランチにマージします。

    git merge example-tutorial-branch
  3. 変更をプッシュします。

    git push

このチュートリアルでは、ブランチをリポジトリのデフォルトブランチに直接マージします。GitLabでは、通常、マージリクエストを使用してブランチをマージします。

GitLabで変更を表示する

おめでとうございます。ブランチ内のREADME.mdファイルを更新し、それらの変更をmainブランチにマージしました。

では、UI上で変更を確認しましょう。プロジェクトに移動してください。

  • 下にスクロールして、README.mdファイルの内容を表示します。変更が表示されるはずです。

  • README.mdファイルの上にある最新コミット列のテキストを確認します。コミットメッセージがこの列に表示されます:

    最終コミット列にコミットメッセージが表示され、最終更新列に更新時間が表示されています

これで、コマンドラインに戻り、個人のブランチ(git checkout example-tutorial-branch)に切り替えることができます。引き続きファイルを更新したり、新しいファイルを作成したりできます。git statusと入力して変更の状態を表示し、思い切ってコミットしてみましょう。

うまくできなくても心配しないでください。Gitではすべての操作をリバートできます。復旧が難しい場合でも、いつでも新しいブランチを作成して最初からやり直すことができます。

おつかれさまでした。

その他のGit学習リソース