個人開発でも Git でソース管理したほうがいい
個人開発でも Git でソース管理したほうがいい
ローカル PC に新しい Git リポジトリを作って、実際にソース管理するまでの手順を説明します。
複数人ではなく、最初から最後まで単独で開発するケースを想定しています。
リモートリポジトリの作成
-
リポジトリ用フォルダの作成
C:\gitrepos
フォルダに Git リポジトリ用のフォルダを作ります。
フォルダ名は〈任意の名前〉.git
とします。今回は
git-repo-name.git
としました。cd "C:\gitrepos" mkdir "git-repo-name.git"
-
空のリポジトリの作成
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/
ローカルリポジトリの作成と初期設定
-
リモートリポジトリのクローン
ローカル PC の任意の場所に、リモートリポジトリをクローンしてローカルリポジトリを作ります。
クローンはgit clone
コマンドで行います。以下は
C:\tmp
フォルダにリモートリポジトリをクローンする例です。cd "C:\tmp" git clone "C:\gitrepos\git-repo-name.git"
C:\tmp
フォルダにgit-repo-name
フォルダ(リモートリポジトリのフォルダ名から .git を除いた名前)が作られていれば成功です。 -
git config の設定
ローカルリポジトリに移動して、名前とメールアドレスを設定します。
cd "C:\tmp\git-repo-name"
git config --local --add user.name john git config --local --add user.email foo@bar.com
-
空コミット
空コミットしておきます。
git commit --allow-empty -m "first commit."
-
リモートリポジトリへ反映
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
これで準備完了です。
機能開発
新しい機能を開発するときは以下の流れで作業します。
- main ブランチを元に feature ブランチを作る。
- feature ブランチで開発を行う。
- 開発が終わったら feature ブランチを main ブランチにマージする。
- feature ブランチを消す。
開発の開始(feature ブランチの作成)
-
git branch
コマンドを実行します。ブランチが一覧表示されます。
以下のように main の前にアスタリスクが付いていることを確かめます。* main
もしアスタリスクが付いていなければ、 main ブランチに移動します。
git checkout main
-
ブランチを作ります。
ブランチ名は "feature/〈任意の名前〉" とします。たとえば first_version というブランチ名で作成するときは、以下のコマンドを実行します。
git branch feature/first_version
git branch
コマンドで feature ブランチが作成されたことを確かめます。C:\tmp\git-repo-name>git branch feature/first_version ←これ * main
-
feature ブランチに移動します。
git checkout feature/first_version
「Switched to branch 'feature/first_version'」と表示されたら成功です。
-
リモートリポジトリへ反映するなら
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 ブランチへマージします。
-
main ブランチへ移動します。
git checkout main
-
feature ブランチを main ブランチへマージします。
git merge feature/first_version
実行結果が出力されます。
Updating xxxxxxx..yyyyyyy Fast-forward ~~~変更内容がずらずら出力されます~~~ 4 files changed, 14 insertions(+), 10 deletions(-)
-
リモートリポジトリへ反映します。
git push origin main
-
タグを付けます。
タグを付けるには
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 初回リリース
-
タグもリモートリポジトリへ反映します。
git push origin --tag
-
ローカルの feature ブランチを削除します。
git branch -d feature/first_version
実行結果が出力されます。
Deleted branch feature/first_version (was xxxxxxx).
-
リモートのブランチを削除するときは以下のコマンドを使います。
git push 〈remote〉 --delete 〈branch〉
↓ 実際の流れ。
-
git branch -a
コマンドで削除するリモートブランチを確認します。C:\tmp\git-repo-name>git branch -a * main remotes/origin/feature/first_version ←これを消したい remotes/origin/main
-
リモートブランチを削除します。
ブランチ名に「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
-
git branch -a
コマンドで出力されるブランチの一覧に、削除したリモートブランチが出ないことを確認します。C:\tmp\git-repo-name>git branch -a * main remotes/origin/main
-
以上、あとはこれの繰り返しです。
一人で作業するときは、これだけ覚えておけば十分でしょう。
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事にコメントをしてみませんか?