どうも〜
冬眠休暇を取ろうと検討しておりますビトルです〜。 この厳しい冬は南米人の身体にはこたえますね・・
そんなことより今回はエンジニアの方々が誰しも最初にぶつかる壁、gitの使い方とよく使うコマンドについてサクッと説明しようと思います!
Gitとは?
複数人で開発を行った場合のプログラムソースコードなどの変更履歴を記録・追記できる分散型バージョン管理システムです。
作業場所(リポジトリ)の共有ができて、相手の作業内容の差分を自分の手元の開発環境に反映したり、また自分の作業内容を相手も取得することができます。
二人以上のエンジニアで開発を進める場合、必須と言っても過言ではないツールなのです。
インストール
Mac
Macでインストールする場合はまずHomeBrewをインストールしましょう。 こちらの記事が参考になります。
HomeBrewのインストールが完了したら以下のコマンドを実行してください。
brew update
brew install git
インストールが完了したら以下のコマンドで確認ができます。
git –version
目次
Windows
Windowsでインストールする場合は専用のインストーラーでインストールすることができます。 インストール方法は以下の記事が参考になります。
基本的な使い方
実際に開発で使うことが多いコマンドを紹介していきたいと思います。
初期化
もし自分のローカルの作業ディレクトリでまだgitが使用できる状態でなければ、ディレクトリ内で
git init
と実行すればgitを使用するため初期化が実行され、実行したディレクトリ配下のすべてのファイル・フォルダがgitの管理下になります。
変更箇所の追加・登録
ファイルを編集したり追加した場合は、その変更内容をgitに登録しなければいけません。
◆変更したファイルの登録
git add file_name.txt
変更内容を一時的に登録できます。
◆新規作成、修正、削除したファイルを全てインデックスに追加・登録
git add -A
もしファイルの数が多い場合はこのコマンドを使うといいでしょう。
◆リポジトリにコミット(登録)
git commmit -m "コミットメッセージ"
リポジトリに正式にコミット(登録)されます。
変更の反映・差分の取得
大抵の場合は開発専用サーバのリポジトリに対して作業内容を反映したり差分を取得することが多いです。 以下がそれを実行できるコマンドになります。
◆コミットした内容をリポジトリに反映
git push
コミットした内容をリポジトリに反映し、他の人がその差分を取り込めるようになります。
◆差分を取得
git pull
リポジトリにプッシュされた内容の差分を自分のローカル作業環境に取り込みます。
状態・履歴・差分の確認
そういえば今どのファイル編集したっけ?あのファイルってコミットしたかな・・ってなる時もあると思います。 そういった時は以下のコマンドが結構使えます。
◆ファイルの状態を確認
git status
現在どのファイルをgit addされているか、編集されているがgit addがされていないファイルを確認することができます。
◆コミット履歴の確認
git log
過去にコミットした履歴が確認できます。 また、表示の仕方も色々あります。
◆コミットされたファイルの確認
git log —name-status
どのファイルがコミットされたか確認できます。
◆追加・削除された行数を表示
git log —stat
ファイルの編集で追加・削除された行数が表示できる
◆特定ファイルのログを確認
git log —
ファイル名で特定のファイルだけのログが確認できます。
◆差分を確認
git diff
git addしているファイルを前回のコミット状態と比べて差分を確認することができます。
リポジトリの取得
多くの場合はすでにあるリポジトリで開発を始めると思います。 自分の手元の開発環境にリポジトリをコピーする場合は下記のコマンドを実行します。
git clone
ブランチの作成・変更
緊急的な修正や、まだ本番環境に反映したくない実装があったとします。
一々別の開発環境用意するのは面倒くさい・・そういったときはブランチを利用します。
◆ブランチを作成
git branch
ブランチを作成できます。
◆ブランチ名を変更
git branch -m
ブランチ名を変更できます。
◆ブランチを削除
git branch -d
ブランチを削除できます。
◆ブランチを変更
git checkout
作業するブランチを変更できます。
もしブランチがまだ存在しない場合、新たにブランチが自動的に作成されます。
◆ブランチの変更内容を統合(マージ)
git merge
現在作業しているブランチに対して指定のブランチの変更内容を統合(マージ)することができます。
最後に
かなりざっくりですが以上となります!
今回紹介したコマンドさえ押さえておけば大抵やっていけると思います!(多分)
近いうちにgitの仕組みを詳しく説明したり、競合(コンフリクト)が起きる場合とその対処法を説明していきたいと思います。
それでは今回はこんなところで!!