Photo by Pankaj Patel on Unsplash
こんにちは!
個人開発者の南です。
今回は、Git(ギット)の使い方について紹介していきます。
実は、個人でやっているとGitなどのバージョン管理ツールをあまり使うことがないのですが、良い加減使い方をマスターしておかないとやばいと思っていました。
そこで、今個人開発しているGuildPressにGitを導入するために、実際にGitの使い方について調べたことをシェアします。
ちなみによく聞くGithub(ギットハブ)とGitは別のものです。
調べてみた感じだと、Gitはローカル用途、Githubはみんなでシェアする用みたいな区分けで覚えておけばオッケーかなと。
つまり、とりあえず個人でGitを導入しようと思う場合は、Gitだけ勉強。
要領を掴んだら、Githubを勉強という流れで良いのではと思いました。
もし、Gitとかって勉強しようと思って自分のマシンに入っているけど、いまいち使いこなせていないという人はぜひ見てみて下さい。
Gitとは?
最初にGitについて、少し紹介します。
Gitはファイルのバージョン管理の仕組みのことです。
個人で開発している場合は、既存のソースコードにアップデートをかける場合はコピペすれば済みますよね?
僕の場合例えば、「GuildPress-2018-01-01」みたいな感じです。
でも、これだと無限にバックアップが生成されてしまいます。
さらに、他の人に「GuildPress」の開発を依頼なんてことがあった時は、ソースコードに間違いの記述があってバグが発生しまくるなんてことも考えられます。
その時に、このGitを導入すればフォルダも1つで済むし、もしバグが発生してしまった時もコマンドで前のバグがないバージョンにソースコードを復元なんてこともできます。
でもって、Gitの仕組みを使うことで事前にソースコードの差異のチェックもできるし、他の会社では当たり前に使われているので、新しい現場に行くときもスムーズにキャッチアップできます。
もはや覚えない理由がないというやつですね。笑
Gitが入っているかチェック
まずは、自分のマシンにGitが入っているか確認しましょう。
僕の場合はMacなので、「ターミナル」を開いて次のコマンドを入力します。
1 |
git --version |
コマンドを入力すると、次の画像のように表示されると思います。
もし、Gitが入力されている場合は「undefined command git」か「command not found」的な英語が表示されます。
この場合は、Gitがインストールされていないので、Gitをインストールするようにしましょう。
また、「git version」と表示されても、Gitのバージョンが古い場合があります。
その場合は、Gitのバージョンをアップデートしましょう。
Gitの最新バージョンは下記のサイトで確認するようにしましょう。
サイトにアクセスすると、下記のモニターのところに最新バージョンのGitが表示されています。
引用元:Git公式サイトより
Gitのアップデート
Gitのアップデートをするにはいくつか方法があるのですが、今回は「Homebrew(ホームブリュー)」を使ってアップデートをかけます。
ちなみに、HomebrewとはMacOSでプログラミングをする時に必要なものを管理してくれるシステムのことです。
入っていない場合は、インストールするようにしましょう。
話を戻して、GitをHomebrewでアップデートするにはターミナルで次のコマンドを入力します。
1 |
brew update |
コマンドを入力すると、下記画像のように色々インストールされていきます。
ちなみに、コマンドを入力してから10分〜20分は時間がかかると思いますので、しばらく待ちましょう。
アップデートが終わったら、次に下記のコマンドを入力します。
1 |
brew install git |
コマンドを入力した後は、下記のように色々インストールされていきます。
これは、5分くらいで終わると思います。
最後に確認として、下記のコマンドを入力してバージョンの確認をしておきましょう。
1 |
git --version |
アップデート後、Gitのバージョンが変わらない場合
おそらく、バージョンの確認をした時に前と同じバージョンが表示されていると思います。
そんな時は、一度ターミナルを閉じてもう一度新しく開き直します。
開き直したあとに、もう一度バージョンの確認コマンドを入力します。
1 |
git --version |
すると、バージョンが最新版になっていると思います。
Gitの初期セットアップ
最新版バージョンを入れることができたら、まずは少しだけセットアップを行います。
それは、次のコマンドを入力することです。
1 2 |
git config --global user.name = 'ログを残した時に表示されるあなたのユーザー名'; git config --global user.email = 'ログを残した時に表示されるあなたのメールアドレス'; |
それぞれ、Gitのログで表示されます。
もし、現在のユーザー名とメールアドレスを確認したい場合は、下記のコマンドを実行しましょう。
1 2 |
git config user.name git config user.email |
これでそれぞれ現在のユーザー名とメールアドレスが表示されます。
これで初期セットアップは完了です。
Gitを実際に使ってバージョン管理
では、実際にGitを使ってバージョン管理を体験してみましょう。
まずは、どこでも良いので適当にフォルダを作ります。
僕はDesktopに「learn-git」というフォルダを作りました。
フォルダが作れた次にそのフォルダにターミナルで移動します。
移動ができたら、次のコマンドを入力してGitを導入します。
1 |
git init |
すると、下記のように表示されます。
またフォルダのところに「.git」というフォルダが導入されていると思います。
これでGitの導入は完了です。
実際にGitを使ってのファイルの更新と更新前に戻ってみる
Gitの導入ができたところで、次はGitを使って実際に「ファイルの更新」と「ファイルを更新前に戻す」といったことをやってみたいと思います。
Gitでファイルの更新
まずは、テキトーにhtmlファイルを作成していきます。
作成したフォルダにindex.htmlを作成してみましょう。
作成ができたら、中に何か記述します。
今回は次のように記述しました。
記述ができたら、今度は下記の手順でコマンドを打っていきファイルの更新を記録してみます。
1 2 |
git add index.html git commit -m 'htmlファイルを作成しました' |
ここでは、次のような動作をしています。
「git add ファイル名」でファイル名を一時的に保存します。
「git commit -m ‘htmlファイルを作成しました’」でファイル名を更新したことを記録します。
また、「-m ‘htmlファイルを作成しました’」で更新記録の中にメッセージを残すことができます。
実際に更新の記録を見るには、下記のコマンドを入力すると変更をチェックすることができます。
1 |
git log |
入力すると下記画像のように表示されます。
-mで入力したメッセージと、最初のところで設定した名前とメールアドレスが表示されています。
Gitでファイルの更新をさかのぼってみる
ファイルの記録と更新方法がわかったところで、次は更新の記録をさかのぼってみます。
実際にhtmlファイルを次の3段階にわけてみます。
1段階目
2段階目
3段階目
「git log」を入力されると次のように表示されます。
今は3段階目のHello World3の状態です。
ここで、2段階目のHello Word2にファイルを戻してみます。
ファイルの更新を戻すには下記のコマンドを入力します。
1 |
git checkout [ハッシュキー] |
ハッシュ値とは、「git log」で表示した時にそれぞれ数字は半角の英語の羅列が表示されると思います。
これがキー情報となって、その時のバージョンに更新を戻すことができます。
もし、Hello World2の2段階目に戻したい場合は、下記のようにコマンドを入力します。
1 |
git checkout 0e7da4c573c5c705d9b4f41d1689595c7a5eac41 |
このコマンドを入れると2段階目に戻ることができます。
この状態で「git log」をすると、次のように表示されて「hello world3」の部分が消えてしまいます。
ここから、3段階目に戻るには下記のコマンドを入力しましょう。
1 |
git checkout master |
コマンドを入力した後にもう一度「git log」を入力すると今度はちゃんと3つとも全部のログが表示されて最新の更新状態に戻すことができます。
Gitのログの抜け方
Gitのログを見ている時に最後に「END」の文字しか表示されずに、他の操作ができないといったことがあります。
そんな時は、キーボードの「q」を押しましょう。
そうすると、Gitのログの画面を抜けることができます。
まとめ
今回でGitのちょっとした使い方をマスターできたと思います。
他にも戻る方法があるのかなと思いますが、それについてはどんどん追記していく形をとって行きたいと思います!
また、Gitには他にも色々使いみちがあるので、そちらについても紹介していこうと思います!
最後まで読んで頂き、ありがとうございました!