連載
» 2016年04月26日 05時00分 UPDATE

こっそり始めるGit/GitHub超入門(2):“はじめのGit”――超基本的な作業フローと5つのコマンド (2/3)

[平屋真吾,クラスメソッド]

Gitリポジトリを準備する――git initコマンド

 Gitリポジトリを新規作成するには、Gitで管理したいディレクトリに移動し、「git init」コマンドを使用します。

コマンド実行

 今回は空のディレクトリ「hello-git-2」にGitリポジトリを作成してみます。「hello-git-2」が「作業ディレクトリ」になります。

$ cd /Users/hirayashingo/Documents/hello-git-2
$ git init
Initialized empty Git repository in /Users/hirayashingo/Documents/hello-git-2/.git/

ファイルシステム上の確認

 「ls -a」コマンドを使用すれば、「.gitディレクトリ」が作成されていることを確認できます。このディレクトリの中のファイルがGitリポジトリの実態です。ファイルのスナップショットなどが保存されます。

$ ls -a
.       ..      .git

 以上の操作で作業ディレクトリ「hello-git-2」内のファイルの変更をGitに追跡してもらうための準備が整いました。

git cloneコマンドについては、後の連載で

 既にGitリポジトリが存在する場合は「git clone」コマンドを使用してリポジトリをクローンすることができます。このコマンドについては連載第9回記事の「リモートリポジトリを複製してローカルに取り込む――git cloneコマンド」をご覧ください。

git statusコマンドで確認

 ここで「git status」コマンドを使用して、ステータスを確認してみましょう。

$ git status
On branch master
 
Initial commit
 
nothing to commit (create/copy files and use "git add" to track)

 1行目の「On branch master」は現在「master」という名前の「ブランチ」にいるということを表しています。「ブランチ」については次回以降の記事で解説します。

 2行目のメッセージは、まだ1回もコミットしていないので表示されていますが、今のところ無視して構いません。

 3行目の「nothing to commit」については、「作業ディレクトリ」がクリーンな状態(コミットし忘れているファイルなどがない状態)なので、このメッセージが表示されます。「hello-git-2」ディレクトリにはファイルが1つもないので当然ですね。

ファイルを追加する

 1つ前の「Gitリポジトリを準備する」でGitリポジトリを作成しました。次に新しいファイルを追加してみます。

図3 「ファイルを追加する」で行う操作

コマンド実行

 今回は「echo」コマンドを使用して「hello.txt」ファイルを作成します。

$ echo Hello > hello.txt
$ ls
hello.txt

 「cat」コマンドを使用すれば、ファイルの内容を確認できます。内容は「Hello」というテキスト1行です。

$ cat hello.txt
Hello

git statusコマンドで確認

 ここで再びGitのステータスを確認します。

$ git status
On branch master
 
Initial commit
 
Untracked files:
  (use "git add <file>..." to include in what will be committed)
 
    hello.txt
 
nothing added to commit but untracked files present (use "git add" to track)

 先ほどとは異なるメッセージが表示されると思います。

 「Untracked files」欄には「未追跡」のファイルが表示されます。Gitはまだ「hello.txt」ファイルの変更を追跡していないので、ここに表示されます。

ファイルをステージする――git addコマンド

 「ファイルを追加する」で新規作成したファイルをステージングエリアに追加しましょう。

図4 「ファイルをステージする」で行う操作

コマンド実行

 「git add」コマンドを使用します。

$ git add hello.txt

git statusコマンドで確認

 Gitのステータスを確認すると、以下のようなメッセージが表示されます。

$ git status
On branch master
 
Initial commit
 
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
 
    new file:   hello.txt

 「Changes to be committed」欄には「ステージ済み」のファイルが表示されます。

 「hello.txt」ファイルは「git add」コマンドでステージングエリアに追加されました。コミットできる状態になっているので、ここに表示されます。また、「hello.txt」ファイルは新たに追加されたファイルなので、ファイル名の前に「new file」が表示されます。

ファイルをコミットする――git commitコマンド

 「ファイルをステージする」で行った操作によって、「hello.txt」ファイルはGitリポジトリにコミットできる状態になりました。

 「git commit」コマンドを使用して「hello.txt」ファイルをコミットしましょう。

図5 「ファイルをコミットする」で行う操作

「-m」オプションでコミットメッセージをインラインで記述

 以下の例では、「-m」オプションを付けてコミットメッセージをインラインで記述しています。オプションなしの場合はエディタ(VimやEmacsなど)でコミットメッセージを入力できます。

$ git commit -m "first commit"
[master (root-commit) dc32bd2] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

「SHA-1チェックサム」とは

 コミット後のメッセージには、以下のような情報が含まれています。

  • コミットしたブランチ(master)
  • SHA-1チェックサム(dc32bd2)
  • コミットメッセージ(first commit)
  • 変更したファイルの数(1 file changed)
  • 追加した行数(1 insertion)

 「SHA-1チェックサム」はコミットを識別するための文字列であり、コミットの歴史を書き換える場合などに使用します。

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。