メイン画像

個人開発でも Git でソース管理したほうがいい

個人開発でも Git でソース管理したほうがいい


ローカル PC に新しい Git リポジトリを作って、実際にソース管理するまでの手順を説明します。

複数人ではなく、最初から最後まで単独で開発するケースを想定しています。

リモートリポジトリの作成

  1. リポジトリ用フォルダの作成

    C:\gitreposフォルダに Git リポジトリ用のフォルダを作ります。
    フォルダ名は〈任意の名前〉.gitとします。

    今回はgit-repo-name.gitとしました。

    cd "C:\gitrepos"
    mkdir "git-repo-name.git"
  2. 空のリポジトリの作成

    git initコマンドを実行して、空の Git リポジトリを作ります。

    cd "git-repo-name.git"
    git init --bare --shared

    複数人で共有するのは想定していませんが、一応、共有できるように--sharedオプションを付けておきます。

    コマンドを実行すると、次のような結果が出力されます。

    Initialized empty shared Git repository in C:/gitrepos/git-repo-name.git/

ローカルリポジトリの作成と初期設定

  1. リモートリポジトリのクローン

    ローカル PC の任意の場所に、リモートリポジトリをクローンしてローカルリポジトリを作ります。
    クローンはgit cloneコマンドで行います。

    以下はC:\tmpフォルダにリモートリポジトリをクローンする例です。

    cd "C:\tmp"
    git clone "C:\gitrepos\git-repo-name.git"

    C:\tmpフォルダにgit-repo-nameフォルダ(リモートリポジトリのフォルダ名から .git を除いた名前)が作られていれば成功です。

  2. git config の設定

    ローカルリポジトリに移動して、名前とメールアドレスを設定します。

    cd "C:\tmp\git-repo-name"
    git config --local --add user.name john
    git config --local --add user.email foo@bar.com
  3. 空コミット

    空コミットしておきます。

    git commit --allow-empty -m "first commit."
  4. リモートリポジトリへ反映

    git pushコマンドを実行します。

    git push

    コマンドが成功すると、以下のような内容が出力されます。

    Enumerating objects: 2, done.
    Counting objects: 100% (2/2), done.
    Writing objects: 100% (2/2), 151 bytes | 37.00 KiB/s, done.
    Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
    To C:\gitrepos\git-repo-name.git
     * [new branch]      main -> main    

これで準備完了です。

機能開発

新しい機能を開発するときは以下の流れで作業します。

  1. main ブランチを元に feature ブランチを作る。
  2. feature ブランチで開発を行う。
  3. 開発が終わったら feature ブランチを main ブランチにマージする。
  4. feature ブランチを消す。

開発の開始(feature ブランチの作成)

  1. git branchコマンドを実行します。

    ブランチが一覧表示されます。
    以下のように main の前にアスタリスクが付いていることを確かめます。

    * main

    もしアスタリスクが付いていなければ、 main ブランチに移動します。

    git checkout main
  2. ブランチを作ります。
    ブランチ名は "feature/〈任意の名前〉" とします。

    たとえば first_version というブランチ名で作成するときは、以下のコマンドを実行します。

    git branch feature/first_version

    git branchコマンドで feature ブランチが作成されたことを確かめます。

    C:\tmp\git-repo-name>git branch
      feature/first_version    ←これ
    * main    
  3. feature ブランチに移動します。

    git checkout feature/first_version

    「Switched to branch 'feature/first_version'」と表示されたら成功です。

  4. リモートリポジトリへ反映するならgit pushコマンドを実行します。

    git push origin feature/first_version
    
    ↓ こちらのほうがいいかも(上流ブランチも一緒に設定する版)。
    
    git push --set-upstream origin feature/first_version
    Enumerating objects: 1, done.
    Counting objects: 100% (1/1), done.
    Writing objects: 100% (1/1), 172 bytes | 86.00 KiB/s, done.
    Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
    To C:\gitrepos\git-repo-name.git
     * [new branch]      feature/first_version -> feature/first_version

    git branch -aコマンドで反映されたことを確かめます。

    C:\tmp\git-repo-name>git branch -a
    * feature/first_version
      main
      remotes/origin/feature/first_version    ←これ
      remotes/origin/main

開発の終了(feature ブランチを main ブランチへマージ)

feature ブランチでの開発が終わったら、内容を main ブランチへマージします。

  1. main ブランチへ移動します。

    git checkout main
  2. feature ブランチを main ブランチへマージします。

    git merge feature/first_version

    実行結果が出力されます。

    Updating xxxxxxx..yyyyyyy
    Fast-forward
     ~~~変更内容がずらずら出力されます~~~
     4 files changed, 14 insertions(+), 10 deletions(-)
  3. リモートリポジトリへ反映します。

    git push origin main
  4. タグを付けます。

    タグを付けるにはgit tag -a 〈タグ名〉を実行します。
    エディタが起動するので注釈の内容を入力して保存すると完了です。

    git tag -a 2022.12.13

    コマンドで注釈も指定したい場合は、-mオプションを指定します。 オプションに続けて注釈の内容を入力して実行します。

    git tag -a 2022.12.13 -m "初回リリース"

    git tag コマンドでタグをリスト出力できます。
    -nオプションを付けると注釈も合わせて出力できます。

    C:\tmp\git-repo-name>git tag
    2022.12.13
    
    C:\tmp\git-repo-name>git tag -n
    2022.12.13      初回リリース
  5. タグもリモートリポジトリへ反映します。

    git push origin --tag
  6. ローカルの feature ブランチを削除します。

    git branch -d feature/first_version

    実行結果が出力されます。

    Deleted branch feature/first_version (was xxxxxxx).
  7. リモートのブランチを削除するときは以下のコマンドを使います。

    git push 〈remote〉 --delete 〈branch〉

    ↓ 実際の流れ。

    1. git branch -aコマンドで削除するリモートブランチを確認します。

      C:\tmp\git-repo-name>git branch -a
      * main
        remotes/origin/feature/first_version    ←これを消したい
        remotes/origin/main
    2. リモートブランチを削除します。
      ブランチ名に「remotes/origin/」の部分は入力不要です。

      git push origin --delete feature/first_version

      deleted と出力されたら成功。

      C:\tmp\git-repo-name>git push origin --delete feature/first_version
      To C:\gitrepos\git-repo-name.git
       - [deleted]         feature/first_version
    3. git branch -aコマンドで出力されるブランチの一覧に、削除したリモートブランチが出ないことを確認します。

      C:\tmp\git-repo-name>git branch -a
      * main
        remotes/origin/main

以上、あとはこれの繰り返しです。

一人で作業するときは、これだけ覚えておけば十分でしょう。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事