チュートリアルGit を初めてコミットする

このチュートリアルでは、Git の仕組みについて少し学びます。プロジェクトを作成し、ファイルを編集し、コマンドラインから Git リポジトリに変更をコミットする手順を説明します。

このチュートリアルが終わったら、Git の使い方を練習するためのプロジェクトを作成しましょう。

必要なもの

始める前に

Gitとは?

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

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

コードや文書のようなファイルを Gitリポジトリに保存します。ファイルを編集したいときは、リポジトリを自分のコンピュータにクローンし、変更を加え、変更をリポジトリにプッシュバックします。GitLabでは、Gitリポジトリはプロジェクトの中にあります。

変更をプッシュするたびに、Gitはそれを一意のコミットとして記録します。これらのコミットは、ファイルがいつどのように変更されたか、誰が変更したかという履歴を作ります。

graph LR 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. 準備ができたら、ブランチをデフォルトブランチにマージします。
flowchart LR subgraph Default branch A[Commit] --> B[Commit] --> C[Commit] --> D[Commit] end subgraph My branch B --1. Create my branch--> E(Commit) E --2. Add my commit--> F(Commit) F --3. Merge my branch to default--> D end

ちょっと圧倒されてしまったかもしれませんが、がんばってください。これからこれらのコンセプトを実際に見ていくことになります。

ステップ

これから行うことの概要です:

  1. サンプル・プロジェクトを作成します。
  2. リポジトリをクローンします。
  3. ブランチを作成し、変更を加えます。
  4. コミットして変更をプッシュします。
  5. 変更をマージしてください。
  6. GitLab で変更を確認します。

サンプルプロジェクトの作成

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

  1. GitLabの左サイドバー、一番上にある「Create new({plus})」から「New project/repository」を選択します。
  2. プロジェクト名には My sample projectと入力します。プロジェクトのスラッグが生成されます。このスラッグは、プロジェクト作成後にアクセスするための URL となります。
  3. Initialize repository with a READMEが選択されていることを確認してください。他のフィールドをどのように入力するかはあなた次第です。
  4. Create projectを選択します。

リポジトリのクローン

プロジェクトのリポジトリをクローンできます。リポジトリをクローンするということは、自分のコンピューターや、ファイルを保存して作業したい場所にコピーを作成するということです。

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

    Clone a project with 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 に公開され、プロジェクトの他のユーザーからも見えるようになりました。

Branches dropdown list

変更をマージ

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

  1. リポジトリのデフォルトブランチを確認してください。

    git checkout main
    
  2. あなたのブランチをデフォルトブランチにマージしてください。

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

    git push
    
note
このチュートリアルでは、ブランチをリポジトリのデフォルトブランチに直接マージします。GitLab では、ブランチをマージするにはマージリクエストを使うのが一般的です。

GitLab で変更内容を見る

できましたね!ブランチのREADME.md ファイルを更新し、その変更をmain ブランチにマージしました。

UI を見て変更を確認しましょう。プロジェクトに移動します。

  • 下にスクロールして、README.md ファイルの内容を表示します。変更が表示されているはずです。
  • README.md ファイルの上にある、Last commit列のテキストを見てください。あなたのコミットメッセージがこの列に表示されます:

    Commit message

これでコマンドラインに戻り、個人用ブランチ (git checkout example-tutorial-branch) に戻ることができます。これでコマンドラインに戻り、個人用ブランチ ( ) に戻ることができます。ファイルの更新や新しいファイルの作成を続けることができます。git status と入力して変更内容を確認し、そのままコミットしてください。

失敗しても気にしないでください。Git ではすべてを元に戻すことができますし、もし元に戻せなくなった場合は新しいブランチを作ってやり直すことができます。

お見事。

Git の学習リソースをもっと探す