git 入門 〜基本利用編〜

git 入門の3章、基本利用編に入りたいと思います。

本章では git を最低限使うための簡単な手順を説明します。

前章は以下になります。

neko3cs.hatenablog.com

git の基本的な使い方

git をつかって覚えるべき最初の操作は以下の5つだと思います。

  1. リポジトリを作成し、クローンする
  2. 作業内容をコミットする
  3. リモートブランチにコードをプッシュする
  4. ブランチを切って作業する
  5. ブランチをマージする

説明していない単語も出てきましたが、それぞれで説明していきます。

リポジトリを作成し、クローンする

GitHub にアクセスすると以下の様なボタンがあるのでクリックします。

f:id:neko3cs:20191016011930p:plain

リポジトリ名と説明を入力したらおもむろに「Create repository」をクリックしましょう!

f:id:neko3cs:20191016012231p:plain

以下の様な画面が表示されると思います。 「Clone or download」というボタンをクリック後、赤枠のボタンをクリックしてURLをコピーしておきます。

f:id:neko3cs:20191016012413p:plain

リモートリポジトリが出来たらローカル環境にクローンしましょう。

ローカルにクローンすることで自身のPC内にリモートリポジトリと同じ状態のリポジトリを複製出来ます。

以下のコマンドを実行するだけでリモートリポジトリをクローンしてローカルリポジトリを作成できます。

$ git clone <コピーしたURL>

作業内容をコミットする

クローンしたリポジトリのフォルダに移動しましょう。

$ cd ./getting-started-git/

ここでは簡単にファイルを追加してみます。 本来であればここでソースコードを追加、編集したりバックアップしたいファイルをおいたりします。

$ echo "Hello World" > greet.txt

変更がされたかどうかは以下のコマンドで確認が出来ます。

$ git status

変更があれば赤色のファイル名が表示されると思います。

f:id:neko3cs:20191018061343p:plain

変更が生じたのでコミットして作業内容を保存しましょう。

コミットするためには、まずコミットするファイルをステージングする必要があります。

ステージングは変更内容を保存したいものを選ぶ作業です。 ステージングしたものだけが作業内容の保存がされます。

ステージングは以下のコマンドで行います。

$ git add <ステージングしたいファイルのパス>

ファイルパスを指定する代わりに*で変更がされた全てのファイルを指定することも可能です。

ステージング出来たらコミットしましょう。 コミットにはコミットコメントと言うものをつけます。 コミットコメントは何の作業なのかを簡潔に書きます。

$ git commit -m "<コミットコメントの内容>"

上手くコミットが出来たら以下の様な表示がされると思います。

f:id:neko3cs:20191018062133p:plain

リモートブランチにコードをプッシュする

上記でのコミットはまだローカルリポジトリにしか保存されていません。

リモートリポジトリへその変更を反映させないと万が一PCが壊れた場合に変更が消えてしまったり、 そもそもチームでその変更を確認したりマージしたりすることが出来ません。

ですが、プッシュはとても簡単です。

以下のコマンドで現在のコミット数を確認します。

$ git status

コミットが1件あると思います。

f:id:neko3cs:20191018063009p:plain

コミットがあることを確認したら、以下のコマンドでプッシュします。

$ git push origin <pushする先のリモートブランチ名>

ここまで紹介した手順通りに作業していれば、現在のブランチは master だと思います。 なのでローカルの master ブランチのコミットをリモートの master ブランチにも反映します。

以下の結果が表示されたらプッシュ成功です。

f:id:neko3cs:20191018063238p:plain

GitHubのサイトにアクセスし、きちんと変更が反映されているか確認してみましょう!

f:id:neko3cs:20191018063523p:plain

ブランチを切って作業する

さてここで技術検証もかねて greet.txt に変更を加えたくなったとします。

でも、試験的な変更なので現在の master ブランチに変更履歴を残したくないとします。

この様な場合は別のブランチを切って作業しましょう!

早速ですが、以下のコマンドでブランチを切ります。

$ git switch -c <新しいブランチ名>

git switchコマンドはブランチを切り替えるコマンドです。 -cオプションを付け加えることで新しいブランチを作ることが出来ます。

以下の結果が表示されていればブランチの作成は成功です。

f:id:neko3cs:20191020020006p:plain

何かしらの変更を加えてみます。 ここは説明済みなのでさらっと進めます。

f:id:neko3cs:20191020020413p:plain

無事コミット出来ましたね。

ではこの変更をリモートリポジトリに反映します。 ですが、 new-branch ブランチはローカルリポジトリで勝手に作成したものです。 なので、まだリモートリポジトリにはブランチはありません。

このような場合は git pushコマンドに -u オプションをつけましょう。 リモートリポジトリにも同じブランチを作成して変更を保存してくれます。

以下の様な結果が表示されていればプッシュ成功です。

f:id:neko3cs:20191020020727p:plain

GitHub もみてみましょう。 ブランチドロップダウンをクリックすると新しく作った new-branch ブランチがあります。

f:id:neko3cs:20191020021139p:plain

コミットもきちんとリモート側に保存されていることが確認できます。

f:id:neko3cs:20191020020935p:plain

ブランチをマージする

変更した内容がやっぱり master ブランチにも反映したくなることがあるかもしれません。

その場合は new-branch ブランチを master ブランチにマージします。

以下のコマンドを実行するとブランチをマージ出来ます。

$ git merge <マージしたいブランチ名>

マージは現在のブランチに対して行われます。 そのため、 master ブランチに new-branch をマージしたい場合は先に master ブランチに移動してからおこないます。

f:id:neko3cs:20191020022241p:plain

上記の結果の通り、マージしたあとに変更が master ブランチにも反映されていることがわかりますね。

あとはマージした結果を git push コマンドでリモートブランチにも反映させておきましょう。

まとめ

本章では基本的な git の使い方について説明しました。

git 初心者が覚えておくべき基本の操作は以下のコマンドになります。

  • git clone
  • git status
  • git add
  • git commit
  • git push
  • git switch [-c]
  • git merge

以下が次の章になります。

neko3cs.hatenablog.com