Linux応用コース9/11
【Gitの使い方①】git commitコマンド
こちらでは、Gitでローカルリポジトリにコミットするまでの流れを解説します。
git
は基本的なツールですので、必ず理解していきましょう。
Gitとは?
Gitとは、分散型バージョン管理ツールです。
プログラムのソースコードなどの変更履歴を記録・追跡することができます。
集団開発ではほぼ必ず利用するので、覚えておくと便利です。
便利なポイント
- 変更履歴を保存できる
- 編集したファイルを過去の状態に戻せる
- 編集前後の差分を表示
- 他人の編集内容は上書きされない
gitで理解しておくべき単語(概念)
-
リポジトリ リポジトリとは、ファイルやディレクトリの状態(ソースコード、変更履歴、コメント)を記録する場所です。リポジトリは二種類あります。
- ローカルリポジトリ:自分のコンピュータ上にあり、自分が作業する。
- リモートリポジトリ:ネットワーク上にあり、複数人で共有する。
-
ブランチ ブランチとは、履歴の流れを分岐して記録するもので、木の枝に例えられます。分岐したブランチは他のブランチの影響を受けません。
基本的な使い方
- リモートリポジトリをローカルに複製
- ローカルで修正・編集・削除
- ローカルリポジトリに変更履歴を登録
- リモートリポジトリに反映
- 更新されたリモートリポジトリをローカルの複製に反映
- 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環境をご利用下さい。