おれろぐ #z_a_ki3

(・∀・) オイ!

Gitを学ぶ 〜前編〜

きっかけ

!超初心者向けです!

Git流行ってるし、色々な所で勉強会をやってて、そろそろ本格的に
覚えたいなと思ったところでクスールさんで勉強会があると聞いて
早速申し込んでみました。

cshool.connpass.com

はじめに

Gitの状態は以下の3つの状態がある。

  • 作業ツリー(ワーキングツリー)
  • インデックス
  • ローカルリポジトリ

習ったコマンド

ローカルリポジトリ

初期化(ローカルリポジトリ作成)

git init

ファイル追加(作業ツリーからインデックス)

git add [ファイル名]

複数のファイルを追加する場合

git add [ファイル1] [ファイル2] [ファイル3]

すべてのファイルを追加する場合

git add .(ドット)
# 削除したファイルを含める場合
git add --all

フォルダ構成だけ先に作成する場合、空のフォルダは追加できないので 慣習的に .gitkeep という空のファイルを作成して追加する。

ファイルを削除する場合

git rm [ファイル名]

コミット(インデックスからローカルリポジトリ

git commit -m "コミットメッセージ"

ファイル追加の取り消し

git reset [ファイル名]

(直前の)コミットの取り消し

# 作業ツリーまで戻る
git reset HEAD^
# インデックスまで戻る
git reset --soft HEAD^

HEAD^はHEAD(先頭)の一つ前ということらしい。

ここに詳しいのがあった。 tech.aainc.co.jp

リモートリポジトリ編

リモートリポジトリと紐付け

git remote add origin [URL]

今はoriginは魔法の言葉とするが、リモートリポジトリと考えてよいらしい。
originを別名に変えることはできるが、滅多にない。

URLを間違えた場合はこんな感じで

tetsuyai.hatenablog.com

プッシュ

git push origin master

リモートリポジトリからローカルリポジトリを作成する。

git clone [URL]

ローカルリポジトリを最新にする。

git pull origin master

各状態間の差分を見る。

作業ツリーとインデックス

git diff

インデックスとリポジトリ(HEAD)

git diff --cached

作業ツリーとリポジトリ(HEAD)

git diff HEAD

resetの時は最新の一つ前なのでHEADの後に^をつけたけど、
diffは最新と比較するので^はいらない。

今日はここまで!!

予習資料

もっと早く知りたかった! Gitが鬼のようにわかるスライド厳選7選 | Find Job ! Startup

更新

正しい用語に修正(作業ディレクトリ→作業ツリー)