Git初心者が最低限抑えておきたいコマンドまとめ!

6 min
github

Gitを使いたいけどコマンドがたくさんあって難しい!業務でよく使うコマンドはどれ?

今回はこんな疑問に答えていきます。

Gitには数多くのコマンドがありベテランのエンジニアでも全てのコマンドを覚えている人は殆どいません。

しかしこれは数が多すぎて覚えられないのではなく、最低限のコマンドさえ覚えれば問題無く業務を遂行出来るからです。

そこで今回の記事ではGitのコマンドの中でも良く使うコマンドを具体例と共に解説していきます。

エンジニアを目指すのであればGitは必須スキルとなるので、これを機会に是非使えるようになっておきましょう。

Gitを使う際に覚えておきたい用語

Gitコマンドの使い方をお伝えする前に、Gitを扱う際に覚えておいたほうが良い用語をいくつか紹介します。

GitとGithubの違い

よく勘違いされている方がいますが、GitとGithubは別物です。

Gitとは各種ファイルをバージョン管理するためのコマンドの事を指し、GithubとはGitで管理しているファイルをネット上でよい感じに見れるようにしてくれるWebサービスのことを指しています。

リポジトリとは

リポジトリとはファイルやディレクトリの状態を記録する場所で、Gitでコードを管理するにはリポジトリの作成が必須となります。

このリポジトリは、開発するサービス(アプリ)単位でつくる場合もあれば、1つのアプリでもサーバーやフロントのコードで分けて複数作成する場合もあります。

慣れないうちは開発するサービス単位で1つだけリポジトリを作るのが良いでしょう。

リモートリポジトリ

リポジトリには2種類存在し、そのうちの1つがリモートリポジトリです。

リモートリポジトリとはGitで管理しているリポジトリを複数人で共有出来るようにするために、Githubなどのサービスに配置してあるリポジトリを指します。

例えばGithub上の画面から新たなリポジトリを作成した場合は、それはネット上にあり複数人で共有することが出来るのでリモートリポジトリになります。

ローカルリポジトリ

もう片方のリポジトリがローカルリポジトリとなります。

ローカルリポジトリとは開発者が手元のパソコンで開発をする際に利用するリポジトリです。

開発者は各々のパソコンにディレクトリ、ファイルなどを持ってきて開発を行い(リモートリポジトリ)、開発が終わったらリモートリポジトリに開発内容を反映させて、他の開発者に開発した内容を共有していきます。

Sponsored Link

git cloneを使ってローカルにリポジトリを持ってこよう

github上にあるリポジトリをローカルに落としてくる際に使用するコマンド。

一人で開発している場合は使用することが滅多にないがチームで開発をする場合にはまずこれを使うことが多い。git cloneを行う際には「SSH」と「HTTPS」の2種類あるがgithubに鍵登録を行っている場合はSSHでcloneするのがおすすめ。

git clone


$ git clone https://github.com/rails/rails with SSH
$ git clone git@github.com:rails/rails.git

githubにログインしている時のみ下記の画像の様にSSHのリンクを表示することが可能なのでUse SSHが出てこずにSSHでクローンが出来ないという人はgithubにログインされているかを確認しよう。

git branchでブランチの確認、移動、削除

ブランチの確認、作成、削除したりするコマンド

git branch



# ローカルにあるブランチ一覧と現在自分がいるブランチを確認
$ git branch

# ブランチの作成
$ git branch feature/implements-something

# ブランチの削除
$ git branch -D feature/implements-something

Sponsored Link

git addでファイルを追加してみよう

ローカルで行った追加・変更をgithubのインデックスに追加するためのコマンド

基本的にはファイル名を指定するパターンと一括で追加する2パターンで利用される事が多い。

Title


# sample.txtというファイルを追加
$ git add sample.txt

# カレントディレクトリのファイルを全て追加
$ git add .

ちなみに上記の方法だとadd時にファイルの差分が見れないという欠点があるので個人的には「-p」オプションを使うことを強く推奨したい。

 

-pオプションを使うメリット
  • git diffを使わずに変更差分が見れる
  • 1つのファイルでも塊単位でaddするかを選択可能

 

例としては下記のようなREADME.mdの差分があるとする

git add -pの使い方①



MacBook-Air-2:first_project himakuro$ git diff
diff --git a/README.md b/README.md
index b62376a..5ea765a 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,9 @@ First git project
 ## Requirements
 - first requirement
 - second requirement
+- third requirement
+- forth requirement
+- fifth requirement

 ## Usage

@@ -13,5 +16,6 @@ First git project
 - third step

 ## Author
+- himakuro

 ## Lisence

このファイルのauthorのところだけを追加したい場合は下記のように行う。

git add -pの使い方②



MacBook-Air-2:first_project himakuro$ git add -p
diff --git a/README.md b/README.md
index b62376a..5ea765a 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,9 @@ First git project
 ## Requirements
 - first requirement
 - second requirement
+- third requirement
+- forth requirement
+- fifth requirement

 ## Usage

Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? n
@@ -13,5 +16,6 @@ First git project
 - third step

 ## Author
+- himakuro

 ## Lisence
Stage this hunk [y,n,q,a,d,/,K,g,e,?]? y

塊単位で「Stage this hunk」(差分をadd)するか聞かれるのでaddする場合は「y」、しない場合は「n」と入力していく。

なかなか初心者のうちはオプションを使うという所まで頭が回らないかもしれないがこれは最初のうちから使って定着させておくと良い。

git checkoutでブランチ作成、移動、差分の巻き戻し

ファイルの変更を巻き戻したいときに巻き戻せるみんなの強い味方。

こちらも -p オプションが存在するので適宜活用していくと良さ。ちなみにブランチ移動もこのコマンドで行う。

git checkout



# README.mdの差分を巻き戻す
$ git checkout README.md

# README.mdの一部差分を巻き戻す
$ git checkout -p

# masterブランチに移動
$ git checkout master

# 現在いるブランチをベースに新たなブランチを作成して移動
$ git checkout -b feature/update-readme

4つ目に記載した「-b」オプションは「git branch feature/update-readme」と「git checkout feature/update-readme」を合体させたようなコマンドで1つのコマンドでブランチ作成・移動をしてくれるので是非覚えておきましょう。

Sponsored Link

git diffで変更した差分の確認

git管理下にあるファイルの差分を表示するコマンド。

addしてある状態のファイルの差分は「–staged」というオプションを付けない表示されないので注意

また、上記にも記載したが「git管理下にあるファイルの差分」を表示するものなので、新規ファイルを追加してaddしていない状態だと表示されないのでここも注意。

git diff



# 変更した全てのファイルの差分を確認
$ git diff

# README.mdの差分を確認
$ git diff README.md

# addした状態のファイルの差分を確認
$ git diff --staged

git statusで追加、変更したファイルを確認

現在addしているファイルや差分が発生しているファイルを見る際に使用。

git status


# 現在いるリポジトリの各ファイルの状態を確認
$ git status

実行例

git status



MacBook-Air-2:first_project himakuro$ git status
On branch feature/implement-something
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

    modified:   README.md

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    modified:   README.md

Untracked files:
  (use "git add ..." to include in what will be committed)

    index.html

 

git statusの内容の確認方法
  • Changes to be committedにあるmodifiedはadd済みの変更差分
  • Changes not staged for commitにあるmodifiedは変更差分はあるがまだaddされていない状態
  • Untracked filesにあるindex.htmlは新規に追加されたファイルでまだaddされておらず、git管理されていない状態

git commitをして変更した内容をコミットしよう

github上に変更した内容をpushするために必要なコマンドでaddした内容をコミットという単位にまとめてくれます。

このコミットという単位で差分を巻き戻したり、別のブランチに持っていったりする事もあるので極力小さい単位でコミットを実行する癖をつけておきましょう。

git commit



#  メッセージを付けてcommit
$ git commit -m "update README.md"

git pushでコミットした内容をリモートにアップしよう

コミットした内容をリモート(githubにアップ)するためのコマンド。

コミットだけしてもその内容はgithub上にはアップされないのでコミットした内容は必ずプッシュしましょう。割とベテランの人でもコミットだけして満足してプッシュを忘れることがあったりします。

git push


# feature/implement-somethingのブランチの内容をgithubにプッシュ
$git push origin feature/implement-something

git pullで他人が変更したファイルを落としてこよう

github上にある最新の情報を取得するために使うコマンド。

主に同じリポジトリで作業している人が何かしらの差分をpushした際に、その内容をローカル環境に取り込む時に利用。

git pull


# 最新のdevelopブランチの内容を取得
$ git pull origin develop

Gitのコマンドはすべて覚える必要はない

今回の記事では実務でもよく利用するコマンドの使い方を紹介しました。

Gitには様々なコマンドやオプションがありますが、それらを全て暗記する必要はありません。

コマンドを使ってどの様な事が出来るかだけを把握しておくことで、ネット上で検索出来るようになっておきましょう。

Sponsored Link
himakuro

himakuro

新卒で入社したブラック企業から脱出して超ホワイトな会社に転職。エンジニア歴は7年で普段はウェブサービス作ったりブログを書いたり、MENTAで未経験者の方にプログラミングを指導しています。

FOLLOW

カテゴリー:
タグ:
関連記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です