gitコマンド入門 – 必須コマンドを覚えてGitを使いこなそう!

Git - logo

バージョン管理システムGitギットを使う上で必須なのがコマンド操作。

もちろんSourcetreeソースツリーのようにGUIで操作する事もできますが、基本となるCUIは抑えておきたい部分です。

苦手意識を持たずGitのコマンドを是非ここで覚えておきましょう!

スポンサーリンク
スポンサーリンク

Gitの基本サイクル

まず概念としてGitの超基本的な基本サイクルを覚えておきましょう!

用語は後で説明しますが、本当に基礎的な流れは

  1. ファイルやディレクトリの作成・編集・削除を行う
  2. ステージする
  3. コミットする

この3つです。

ステージ?コミット?一体お前は何を言ってんだ意識高い系かよ!

なんて僕も最初は思いました・・・笑。

しかしこの辺の用語は意識高い系のカタカナビジネス英語のアレではなく、英語を基本とするGitの世界では覚えておくべき用語です。

それ終わったらコミットしといて!

なんて使います、なんなら意識が低いGitユーザーも使います(僕のことです)。

この作業はまず貯蔵庫リポジトリを作成するところから始まります。

リポジトリの作成

それでは実際にリポジトリを作ってみましょう、Gitはリポジトリ作成が一番最初の仕事です。

リポジトリはファイルやフォルダの作成・編集・削除が全て記録されるGitの核となる部分です。

まず適当なところにテストの作業用ディレクトリを作っていきますが、CUIに慣れる為にこれも全てコマンドで行って行きます!

ディレクトリとはいわゆるフォルダの事です。
コンピューターの世界ではフォルダの事をよくディレクトリと言いますが、ディレクトリ=フォルダの事だと思って貰って差し支えありません。

Windowsの方はGitギット Bashバッシュ、Macの方はターミナルを開きましょう。

まず自分が今どこに居るのかを確認します、これはCUI操作で非常に重要な事なので癖をつけておいて下さい。

$ pwd
コマンド[pwd
現在自分がいるディレクトリ(カレントディレクトリ)を表示するコマンド

まずはpwdコマンドを使って今いる階層を確認します(不安になったらとりあえずpwdと覚えて下さい)。

通常Git Bash、ターミナルを開いた直後なら/Users/ユーザーディレクトリ/に居るはずです(Windowsの場合頭に/c/がついていると思います)。

ではここでtestというディレクトリ(フォルダ)を作成しましょう。

$ mkdir test
コマンド[mkdir
新しくディレクトリを作成するコマンド

これで/Users/ユーザー名/testというディレクトリができたはずです。

念の為本当に作成できているか確認してみましょう。

$ ls
コマンド[ls
ファイルやディレクトリを表示するコマンド
オプション[-a
隠しファイルや隠しディレクトリを表示するオプション
オプション[-l
詳細情報を表示するオプション
合わせてls -laと使うことが多い

色々ばばーっとでてくると思いますが、その中にtestがあればOK!

ではtestディレクトリに移動します。

$ cd test
コマンド[cd]
ディレクトリを移動する時のコマンド
現在のディレクトリから下の階層(/home→/home/test)に移動する時はcd ディレクトリ名
現在のディレクトリから上の階層(/home/test→/home)に移動する時はcd ../
絶対パスを使って一気にcd /home/test/dev/cssのように移動できる
cdだけで実行するとホームディレクトリ(/usr/ユーザー名)に移動できる

cdコマンドは今いる場所から移動する非常によく使うコマンドです。

念の為移動がちゃんとできたか確認します。

$ pwd
/Users/ユーザー名/test

こんな表示になれば移動に成功しています!

ではここにリポジトリを作成して行きます。

$ git init
コマンド[git init]
カレントディレクトリでリポジトリを作成するコマンド
git init ディレクトリ名でカレントディレクトリ以外での作成もできる

たった1つのコマンドでリポジトリ作成ができます、便利ですね・・・!

リポジトリが作成されると隠しディレクトリとして.gitという名前のディレクトリが自動的に作成されます。

$ ls -la

.gitがあればOK、無事にリポジトリの作成ができました!

とりあえず現在何もファイルが無い状態なので、touchコマンドで空のindex.htmlを作っておきます。

$ touch index.html
コマンド[touch
ファイルを新規作成する時のコマンド
本来は既存のファイルを指定してタイムスタンプを変更するコマンドだが、存在しないファイル名をつけて実行すると中身が空のファイルが作成される

ここまでの作業で

  • /usr/ユーザー名/testディレクトリがある
  • /testディレクトリ直下に/.gitがある
  • /test直下に空のindex.htmlというファイルがある
  • リポジトリの作成が出来た

という状態になりました。

ステージする

今の状態をgit statusコマンドで確認してみましょう。

$ git status
On branch master

No commits yet

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

        index.html

nothing added to commit but untracked files present (use "git add" to track)
コマンド[git status
現在のリポジトリの状況を確認するコマンド
オプション[-s --short
git status -sもしくはgit status--shortを指定すると短縮した形で表示される

こんな表示がされたと思います。

お気づきかも知れませんが、既にこの/testディレクトリはGitから見ると「git initされた時には無かったファイルができているぞ!」という状態です。

という事で「次のコミット時にindex.htmlを含めるよ!」という指示を与える必要があります。

ファイルやディレクトリを次回コミット時に含める!という作業をステージと言います。

ステージされたファイルやディレクトリはインデックスというコミット待ちの領域に保存されます(ファイルそのものが保存される訳ではなく、「コミットを待っているよ!」という情報が保存されます)。

$ git add index.html
コマンド[git add
追加・編集等で変化があったファイルをステージングするコマンド
git add ファイル名で個別にステージング
オプション[.
git add .で全ファイル/ディレクトリをステージング
オプション[-a
git add -aで新規ファイル/ディレクトリを除いて変化があった物をステージング

git addコマンドでindex.htmlは次回のコミットに含まれるようになりました、これをステージと言います。

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached ..." to unstage)

        new file:   index.html

さっきと表示が変わりましたね!

  • Gitがindex.htmlという新しいファイルを検知した
  • index.htmlがステージされ、インデックスに追加された

ステージングはコミット前の準備、言い換えればコミットの宣言です。

ではコミットとは何か、続けて見て行きましょう!

コミットする

では基礎サイクル最後の作業、コミットです。

コミットはステージされたファイルやディレクトリの変更記録を確定させる作業。

コミットを行う事で一連のサイクルが終了します。

$ git commit -m "新規ファイル作成"

[master (root-commit) 99b3194] 新規ファイル作成
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 index.html
コマンド[git commit
ステージングしたファイル・ディレクトリをコミットするコマンド
オプション[-m
コミットメッセージを入力するオプション
-mオプションをつけずにgit commitすると指定されたエディタが立ち上がりコミットメッセージの入力を求められる

コミットはgit commitコマンドで行います。

オプション-mを付与するとコミットメッセージと呼ばれるコメントをつける事ができます。

ちなみにコミットメッセージが無いということはあり得ません、もし-mオプションをつけ忘れたらエディタが起動してコミットメッセージをつける事になります。

今回は初めてのコミットなのでコミットメッセージをわかりやすく日本語にしてみましたが、通例では英語で書く事がほとんどです(プロジェクト内でルール化される事が多いでしょう、逆に自分一人なら自分さえ分かればOK)。

コミットされたらgit statusはどんな結果が返って来るでしょうか?

$ git status
On branch master
nothing to commit, working tree clean

さっきと無事表示が変わり、nothing to commit(コミットする必要があるものは無い=変化があったファイルは無い)という表示に変わりました。

ではもう一度テスト的に、今度はindex.htmlに文字列を追加してステージ、コミットしてみます。

#index.htmlに文字列を追加
$ echo "<p>テスト</p>" >> index.html

#ステータス確認
$ git status
On branch master
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   index.html

#ステージする(今回は全てのファイルを表す.を指定しています)
$ git add .

#コミットする
$ git commit -m "コミットメッセージ"

[master eaf9caa] [update]insert massage.
 1 file changed, 1 insertion(+)

ファイルの状態が変わったらステージしてコミットする、これで基本的な流れはマスターできました!

基本をおさらいして練習してみよう

「え?Gitってこれだけ?楽勝じゃん!」って思いました?

まあそんな訳ないんですけどね・・・笑。

でもGitの基本はこのサイクルです、基本的にこれを繰り返す事になります。

まずはテスト用で良いので

  1. ファイルやフォルダの作成・編集・削除を行う
  2. ステージする
  3. コミットする

この3つを徹底的に覚えましょう。

Gitでやれることは数多くありますが、この3つをマスターしていないとお話になりません。

次はもっと実践で使うコマンドを解説します!

スポンサーリンク
Web
スポンサーリンク
この記事を書いた人
けんちゃん

現役サポートミュージシャン、その他FXやサイト運営で生計を立てています。テクノロジー系の事も好きだったり。
大体1ヶ月にブログだけで40代~50代サラリーマンの年収ぐらい稼いでます。

よく読まれているオススメ記事

スポンサーリンク
L'7 Records

コメント

タイトルとURLをコピーしました