$ mkdir sample # ディレクトリを作る
$ cd sample # そこに行く
$ git init # リポジトリを初期化する
$ echo "Hello, world." > README # README ファイルを作る
$ git add README # add する
$ git commit -m "Adddd read-me." # commit する
$ git log # ログを見る
commit e33533965935d7f8f8756b7135f3f2df28211289 (HEAD -> master)
Author: Hiroshi Yuki
Date: Sun Mar 3 21:20:17 2019 +0900
Adddd read-me. # コミットログが変だ!
$ git commit --amend -m "Add README." # 最新コミットログを上書き
$ git log # ログを見る(修正されている)
commit 1fcc6bf6dd6787186b265e0df40b1c38de52406d (HEAD -> master)
Author: Hiroshi Yuki
Date: Sun Mar 3 21:20:17 2019 +0900
Add README.
GREETING
というファイルを最新コミットに追加したい。
$ echo "Good morning." > GREETING # GREETING ファイルを作る
$ git add GREETING # add する
$ git commit --amend -m "Add README and GREETING." # commit する
$ git log # ログを見る(修正されている)
commit 34997731b35773e0164761e33fc22eb88bf48726 (HEAD -> master)
Author: Hiroshi Yuki
Date: Sun Mar 3 21:20:17 2019 +0900
Add README and GREETING.
$ echo "Good night." > SLEEPY # SLEEPY ファイルを作る
$ git add SLEEPY # add する
$ git status # status を見る(確かに add されている)
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) # ←ここに戻し方が書いてある
new file: SLEEPY
$ git reset HEAD SLEEPY # add していない状態に戻す
$ git status # status を見る(確かに add 前に戻った)
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
SLEEPY
nothing added to commit but untracked files present (use "git add" to track)
$ rm SLEEPY # もういらないので削除しておく
$ echo "Good afternoon." >> GREETING # GREETING を編集した
$ cat GREETING # 現在の内容を確認する
Good morning.
Good afternoon.
$ git add GREETING # add する
$ git commit -m "Fix GREETING." # commit する(*)
$ echo "Bla Bla Bla" > GREETING # さらに GREETING を編集した
$ cat GREETING # 現在の内容を確認する
Bla Bla Bla
$ git checkout -- GREETING # この編集は気にくわない。最新コミット(*)まで戻す
$ cat GREETING # 現在の内容を確認する(確かに戻っている)
Good morning.
Good afternoon.
$ git commit --amend -m "CORRECT MESSAGE" # 最新コミットログの修正
$ git reset HEAD filename # ステージングエリアから作業ディレクトリにファイルを戻す
$ git checkout -- filename # 最新コミットから作業ディレクトリにファイルを戻す(上書き)
作業ディレクトリ →add→ ステージングエリア →commit→ リポジトリ