読者です 読者をやめる 読者になる 読者になる

インフラSE日記

OSS、仮想化、金融工学、ゲーム、ときどきラーメン

git

git

恥ずかしながら今までgitをめんどくさがって覚えてこなかったのですが、Ansibleとか勉強しようと思ったら避けて通れないと思ったので覚えようと思いました。

もうgitの説明は特に書きません。

使い方とか基本的な考え方を自分の備忘のために書きます^^

 

それとやっぱり実際に知識だけでわかった気になるのではなく、アウトプット(ブログに書くとか使わ)しないと本当に理解したかわからないですよね。

もう一個、どれだけの方が自分のアホみたいな技術(?)ブログ見てるかわからないですが、公開することによって間違ってるところを指摘してくれる機会が増えることもいいかなと思います。

 

前置きが長くなりました。

 

gitの基本的な用語

gitで重要な単語は以下の3つ。

  1. 作業ディレクトリ(ワークツリー)
    現在作業しているディレクトリのこと。このディレクトリに存在するファイルとかを一生懸命修正したりする。
  2. ステージングエリア(インデックス)
    まだコミットされていないけど、コミットされる予定のファイル群。gitはコミットする前に必ずステージングエリアに上げる必要がある。(バッファ的な使い方をしている?)
  3. リポジトリ
    過去のコミットの履歴をすべてに渡って保存しているもの。

 

gitの簡単な使い方

・初期化する

  git init 

 

・ステージングする

  git add <ファイル名>

 <ファイル名>はワイルドカードも使える。

 "."を指定するとすべてのファイルをステージングする

 

・コミットする

  git commit または git commit -m <コミット時のコメント>

・作業ディレクトリ内の差分を取る

  git diff

 

・作業ディレクトリとステージングエリアとの差分

  git diff --cached

 

ロールバック

  git reset --hard <ロールバックするコミットID、またはHEADなどで指定>

 

・ブランチ一覧

  git branch

 

・ブランチ作成/削除

  git branch <ブランチ名>

  git branch -d <ブランチ名>

 

これだけ覚えていればgitの基本は押さえられたと思います。

後はさらに知識を吸収しつつ、何も考えずに猿のようにコマンドを叩けるようにならないといけないかな。

ファイルの状態、コンフリクトの解消方法、リモートリポジトリなどまだまだ覚えることはあります。

 

 

そんな感じです。