いまさら聞けないGitとは?使い方と基本コマンド10選!


こんにちは!NeSeedエンジニア講師一戸です!えりてぃと呼ばれています!

本日は超絶便利!ソース管理ツール「git」について解説していきたいと思います。

まず、ソース管理という言葉から説明していきたいと思います。

ソースというのはプログラムを指します。

プログラムは、作った人であればわかると思いますが一語一句、文法を間違えずに書くことで動きます。

間違えると文法エラーが表示されて動きません。そういう文を1000行、2000行と一つのファイルに書くのがプログラミングです。

そんなプログラムですから、出来上がったものはとても貴重。しかも、そこに修正を加えたりしたら今までしっかり動いていたものがいきなりエラーを発生させたり!とても繊細なものなのです。

なので、エラーが出ないように修正点や追加点を把握しておくことがとても大事です。しかし、前述したように1000行、2000行あるコード、人力で全て把握しておくことは書いた本人でさえ至難の業です。

そういう状況をスムーズに管理できるように生み出されたものがソース管理という考え方です。gitはソース管理ツールのうちの一つです。

最近はソース管理≒gitになりつつあります。それほど便利なgitの使い方を解説していきたいと思います。

 

Gitとは?概念をおさらい!

まず、gitにはリポジトリというファイルが存在します。リポジトリ(repository)とは貯蔵庫という意味があり、ファイルの「変更点」を記録して蓄積していくためのファイルになります。

ファイルそのものではなく「変更点」という所がポイントです。

gitを操作するには大きく分けて2通りあり、SourceTree等のGUI(普通のボタンとかあるソフト)を使う方法と、コマンドで操作する方法があります。

前回「ターミナル 基礎・便利コマンド、使い方15選」という記事を書かせてもらったのでそれに起因して今回はコマンドでのgit使い方を説明したいと思います。

※もちろんgitがインストールされていることが前提です。

 

今さら聞けない!Gitの基本コマンド10選

1.git init

ソース管理はフォルダ毎に行います。管理したいファイルが全て入っているフォルダまでcdコマンドで移動し、

git init

というコマンドを実行すると、そのフォルダ内にリポジトリファイルができます(実体は.gitという名前の隠しファイルです)。これでそのフォルダ内の変更はリポジトリに記録していくことができます。

 

2.git status

リポジトリのステータスを確認するコマンドです。コミットされていない変更があったり、変更がまったくない状態であることを教えてくれます。

 

3.git add

ステージングエリアにコミット用のファイルを上げるためのコマンドです。ステージングエリアとは、「a,b,cこの3つのファイルの変更だけを今回はコミットしたい」というときに該当ファイルだけを移動させコミット対象にするためのエリアです。

ここに移動した変更だけがコミット対象になります。

 

4.git commit -m “コミットメッセージ”

複数の変更点を、メッセージを付けてひとまとめに記録しておくコマンドです。開発中は大半コミットしています。

 

5.git log

コミットの履歴を確認できるコマンドです。いつ誰がどれだけコミットしたかがわかります。

コミットする際のコミットメッセージが見やすさの鍵になるので開発現場によってはコミットメッセージのフォーマットが決まっていたりします。

 

6.git remote add origin URL

リモートリポジトリのURLを指定し、ローカルリポジトリとリモートリポジトリを紐付けるコマンドです。コミットしているのはあくまで自分のPC内なので、他のチームメンバーとソースコードをシェアするために、複数人がアクセスできるサーバーへコードをアップロードしておく必要があります。

そのときに使用されるのがgitを作っている会社名と同じ、gitHubというWebサイトです。自分のPC内にあるリポジトリを「ローカルリポジトリ」、サーバーにあるリポジトリのことを「リモートリポジトリ」と呼びます。

リモートリポジトリとローカルリポジトリを紐付けておくことにより、pushというコマンドを実行した時に指定したURLへコードをアップロードし保存しておくことができます。

 

7.git push -u origin master

リモートリポジトリにコミットした変更履歴をUploadして記録しておくコマンドです。ローカルリポジトリにはコミット、リモートリポジトリにはプッシュと覚えておくと便利です。

 

8.git pull origin master

チームで開発していると他人のコードがリモートリポジトリにUploadされており、自分のPC内に存在しない状態が度々起こります。プルは自分が持っていない変更点の情報を自分のPCにあるローカルリポジトリ内にダウンロードしてくるコマンドです。

これで他人のコードの変更点が自分のPCにも反映され、使用できるようになります。

 

9.git diff HEAD

最新のコミットと変更点の差分を見るコマンドです。コミット前にどれを変更したのか確認するのに便利です。

 

10.git checkout —target

まだコミットしていない内容の最新コミット状態まで戻すコマンドです。イケてないコードを書いちゃうときもあるので全てなしにしてコミットせず、今までコミットしていた分の最新の状態まで戻すコマンドです。

 

実はこれらのコマンドはGithubが公式に運営しているgit練習サイトtrygit(https://try.github.io/levels/1/challenges/1)で練習することが可能です。githubマスコットキャラクターのoctocatくんがファイルやフォルダを色々作ってこの状態に対してコマンド実行してみてね!という形でインタラクティブ形式にコマンドの練習が進んでいきます。

上記コマンドを実際に使う前にイメージを把握するため練習したい!という方は是非こちらのサイトを利用してみてくださいね!

engineer-banner

Author Profile

IchinoheEriko
IchinoheEriko
ニュージーランド・オーストラリアを経てセブ島にやってきた、世界を飛び回るベテラン女性エンジニア。インターネット創世期よりWebサイト製作を経験。小売業販促アイテム印刷システム「ipopweb」の立ち上げに企画時から参画し、DB 設計・プログラミング 開発を担当しリリース。業務システムエンハンスやポータルサイトのリニューアル開発、運営、保守も多数手がける。OracleMaster保持者。PHP、JavaScriptを始め15以上の言語使用経験を持つ。茨城大学工学部システム工学科卒。