はじめに
gitコマンドの挙動を覚えるためには、ひたすらに実践するのが効果的です。
ただ、githubなどにリモートリポジトリを作成すると、ターミナルだけでgitコマンドの実行をすることが難しく、勉強するのにめんどくささがつきまといます。
そこで、ローカル環境にリモートリポジトリを作成することで、ターミナルだけでgitの練習ができる環境を構築します。
ローカルにリモートリポジトリを作成するとは
リモートリポジトリについては、gitのドキュメントに以下の記述があります。
リモートリポジトリとは、インターネット上あるいはその他ネットワーク上のどこかに存在するプロジェクトのこと
リモートリポジトリとは、githubやAWSのcodecommitなど、ローカル環境ではないところを指すような印象を持ちますが、ローカル環境というネットワークを使えば、ローカルリポジトリとリモートリポジトリをローカル環境だけで構築することができます。
ローカルにリモートリポジトリを作成する手順
まず初めに、ホームディレクトリでローカルリポジトリ用とリモートリポジトリ用のフォルダを作成します。
$ mkdir ~/git_local
$ mkdir ~/git_remote
今回はローカルリポジトリ用にgit_localを、リモートリポジトリ用にgit_remoteを作成しました。
それぞれのフォルダをgit管理します
$ cd ~/git_local
$ git init
$ cd ~/git_remote
$ git init
ここで、ローカルリポジトリ(~/git_local)のリモートリポジトリを~/git_remoteに指定するために
$ git remote add origin ~/git_remote
と叩くと、~/git_localのリモートリポジトリが~/git_remoteとして指定されます。
試しに、↓のコマンドを叩くと、リモートリポジトリのディレクトリが表示されます。
$ git remote -v
origin /Users/[ユーザー名]/git_remote (fetch)
origin /Users/[ユーザー名]/git_remote (push)
これでローカルリポジトリとリモートリポジトリの準備が整いました。
試しにローカルでファイルを作成し、コミットしてリモートリポジトリにpushしてみます。
$ cd ~/git_local
$ git checkout -b develop
$ touch index.html
$ git add index.html
$ git commit -m "first commit"
$ git push origin develop
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 209 bytes | 209.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To /Users/[ユーザー名]/git_remote
* [new branch] develop -> develop
リモートリポジトリにpushすることが成功しました。
試しに~/git_remoteに移動して確かめてみます。
$ cd ~/git_remote
$ git checkout develop
$ ls
index.html
~/git_localで作成したファイルが~/git_remoteのdevelopブランチで存在することが確認されました。
コミットログをターミナル上で確認するには、
$ git config --global alias.lol 'log --graph --decorate --pretty=oneline --all --abbrev-commit'
と設定すると、git lolと打つだけでコミットログがターミナル上に描画されます。
まとめ
gitのリモートリポジトリをローカル環境に作成し、gitの練習が行いやすくなりました。
gitコマンドは失敗を恐れずに叩き続けることで身につくと思うので、練習環境を整えてgitへの理解を深めていきたいです。