1. ホーム
  2. コース一覧
  3. Linux応用コース
  4. 【Gitの使い方①】git commitコマンド

Linux応用コース9/11

【Gitの使い方①】git commitコマンド

こちらでは、Gitでローカルリポジトリにコミットするまでの流れを解説します。 gitは基本的なツールですので、必ず理解していきましょう。

Gitとは?

Gitとは、分散型バージョン管理ツールです。

プログラムのソースコードなどの変更履歴を記録・追跡することができます。

集団開発ではほぼ必ず利用するので、覚えておくと便利です。

便利なポイント

  • 変更履歴を保存できる
  • 編集したファイルを過去の状態に戻せる
  • 編集前後の差分を表示
  • 他人の編集内容は上書きされない

gitで理解しておくべき単語(概念)

  • リポジトリ リポジトリとは、ファイルやディレクトリの状態(ソースコード、変更履歴、コメント)を記録する場所です。リポジトリは二種類あります。

    • ローカルリポジトリ:自分のコンピュータ上にあり、自分が作業する。
    • リモートリポジトリ:ネットワーク上にあり、複数人で共有する。
  • ブランチ ブランチとは、履歴の流れを分岐して記録するもので、木の枝に例えられます。分岐したブランチは他のブランチの影響を受けません。

基本的な使い方

  1. リモートリポジトリをローカルに複製
  2. ローカルで修正・編集・削除
  3. ローカルリポジトリに変更履歴を登録
  4. リモートリポジトリに反映
  5. 更新されたリモートリポジトリをローカルの複製に反映
  6. 2に戻る

実践編

以下、リポジトリを作成し、コミットするまでの手順です。 まず、お試しのディレクトリを作成し、ディレクトリに移動して変更を加えます。

mkdir sample
cd sample
echo "Hello,World!" > README

移動したディレクトリ内でリポジトリを作成します。

以下のコマンドを実行すると、新しいリポジトリがつくられます。Initialized empty Git repository in ~ と表示されたら成功です。

このコマンドは、既存のプロジェクトをgitリポジトリに変換する時にも使います。

.gitというリポジトリを構成するディレクトリが作成されているので、気になる方はls -a で確認してください。

git init オプション

git initのオプション

オプション説明
--bare作業ディレクトリを持たないリポジトリを作成
--template=ディレクトリ名テンプレートを使用するディレクトリを指定
--separate-git-dir=ディレクトリ名リポジトリへのパスを含むテキストファイルを作成
--shared共有リポジトリとして作成
--quietエラーと警告のメッセージのみを出力

gitの状態を確認してみます。

以下のコマンドを実行すると、

git status オプション
  • コミットされていない
  • 編集履歴はあるが、git addがされていない

などが表示されます。

下の実行結果は、 まだファイルがaddされていないよので、git addしてね〜と教えてくれています。

On branch master

No commits yet

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

nothing added to commit but untracked files present (use "git add" to track)

git statusのオプション

オプション説明
--short/-s短く表示
--branch/bショートフォーマットでもブランチと追跡情報を表示
--show-stash隠されているエントリの数

このままではgit commitできないので、以下のコマンドを実行します。

指定したファイルをインデックスに追加してgit commit の対象にします。

今回はカレントディレクトリ以下のファイルをaddするので、ファイル名は. にします。

git add ファイル名

git init直後のgit addの取り消し

全てのファイルの取消
git rm --cached -r .

特定ファイルの取消
git rm --cached -r ファイル名

二回目以降の取り消し

全てのファイルの取消
git reset HEAD 

特定のファイルの取消
git reset HEAD file_name

git addのオプション

オプション説明
--updateバージョン管理済みの変更されたすべてのファイルをaddする。新規作成されたファイルはaddされない
--all/-A変更があったすべてのファイルが対象

そしてやっとgit commitします!

このコマンドを実行すると、ファイルの変更がローカルリポジトリに反映されます。

git commit -m "コメント" .

git commit の取り消し

直前の取消
git reset --soft HEAD^

git commitのオプション

オプション説明
-mコミット時のメッセージを追加
--all/-a既存のファイルをすべてコミット
--amend直前のコミットが修正される

まとめ

これでローカルリポジトリにコミットされました。

ここまでの流れをざっくりまとめると以下のようになります。

git init
git add ファイル名
git commit -m "コメント"

Gitの世界はまだまだ広いので、ぜひご自分でも調べてみてください!

問題を解くためには、十分な画面サイズのPC環境をご利用下さい。