こんにちは!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くんがファイルやフォルダを色々作ってこの状態に対してコマンド実行してみてね!という形でインタラクティブ形式にコマンドの練習が進んでいきます。
上記コマンドを実際に使う前にイメージを把握するため練習したい!という方は是非こちらのサイトを利用してみてくださいね!
NexSeedでは、プログラミングと英語を学べる「エンジニア留学」を提供しています。 プログラミングと英語、エンジニア/ IT留学に興味がある方は以下からチェック!
Related Posts
投稿者プロフィール
- ニュージーランド・オーストラリアを経てセブ島にやってきた、世界を飛び回るベテラン女性エンジニア。インターネット創世期よりWebサイト製作を経験。小売業販促アイテム印刷システム「ipopweb」の立ち上げに企画時から参画し、DB 設計・プログラミング 開発を担当しリリース。業務システムエンハンスやポータルサイトのリニューアル開発、運営、保守も多数手がける。OracleMaster保持者。PHP、JavaScriptを始め15以上の言語使用経験を持つ。茨城大学工学部システム工学科卒。
最新の投稿
- 英語学習2019.08.29英語の文章をスラスラ読むコツ3選!TOEICでいつも時間切れになる人必見
- IT留学2018.11.09海外で英語も指導力も上達!エンジニア講師大募集
- IT留学2018.04.20プログラミング初心者にMacをおすすめする10の理由
- IT留学2017.11.03フリーランスエンジニアのタイプと働き方を現役エンジニアが解説!