[学習] Git基礎4

- Gitコミット現場あるある――やり直し、取り消し、変更したいときに使えるコマンド (1/2):こっそり始めるGit/GitHub超入門(5) - @IT

コミットメッセージの修正

index2.htmlを新規作成しステージする。
test@test-PC MINGW32 /c/www (master)
$ echo hello > index2.html

test@test-PC MINGW32 /c/www (master)
$ git add index2.html

わざとコメントを間違てコミット
$ git commit -m "間違え"
[master eb198b9] 間違え
1 file changed, 1 insertion(+)
create mode 100644 index2.html

Warning: Your console font probably doesn't support Unicode. If you experience s
trange characters in the output, consider switching to a TrueType font such as C
onsolas!
※日本語(unicode)は対応していない?

コミットログを確認
$ git log
commit eb198b9d9fb0721db17055018a30d1fa786eefd3 (HEAD -> master)
Author: xxxx xxxx
Date: Sat May 19 08:12:27 2018 +0900

間違え

直前のコミットのコミットメッセージを修正
git commit --amend
エディタが開くが何か警告がでている。E:とにかく編集する を選択してみる。
スワップファイル "/c/www/.git/.COMMIT_EDITMSG.swp" が既にあります!
読込専用で開く([O]), とにかく編集する((E)), 復活させる((R)), 削除する((D)), 終了
する((Q)), 中止する((A)):

エディタが開いたら 1行目のコメントを修正 (iキーを押してinsertモードに切り替えてから)

$ git commit --amend
[master 1b3c255] 正しいコメント
Date: Sat May 19 08:12:27 2018 +0900
1 file changed, 1 insertion(+)
create mode 100644 index2.html

Warning: Your console font probably doesn't support Unicode. If you experience s
trange characters in the output, consider switching to a TrueType font such as C
onsolas!

コミットログを確認
$ git log
commit 1b3c2556fc058eb06530977a99fb680a6e448395 (HEAD -> master)
Author: xxxx xxxx
Date: Sat May 19 08:12:27 2018 +0900

正しいコメント

ステージし忘れていたファイルをコミットに追加する

index3.htmlとindex4.htmlを追加
test@test-PC MINGW32 /c/www (master)
$ echo file3 > index3.html

test@test-PC MINGW32 /c/www (master)
$ echo file4 > index4.html

index3.htmlのみステージする
test@test-PC MINGW32 /c/www (master)
$ git add index3.html

test@test-PC MINGW32 /c/www (master)
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)

new file: index3.html

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

index4.html

コミットする
test@test-PC MINGW32 /c/www (master)
$ git commit -m "second commit"
[master b77c66f] second commit
1 file changed, 1 insertion(+)
create mode 100644 index3.html

test@test-PC MINGW32 /c/www (master)
$ git status
On branch master
Untracked files:
(use "git add ..." to include in what will be committed)

index4.html

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

ステージし忘れていたファイルをコミットに追加する
test@test-PC MINGW32 /c/www (master)
$ git add index4.html

test@test-PC MINGW32 /c/www (master)
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)

new file: index4.html


test@test-PC MINGW32 /c/www (master)
$ git commit --amend --no-edit
[master 9636f2a] second commit
Date: Sat May 19 14:19:21 2018 +0900
2 files changed, 2 insertions(+)
create mode 100644 index3.html
create mode 100644 index4.html
git commit --amend で直前のコミットに追加、--no-edit で前回のコミットメッセージをそのままとする

ファイルの変更の取り消し

index5.html(内容はhello)を追加しステージとコミットを実行

test@test-PC MINGW32 /c/www (master)
$ echo hello > index5.html

test@test-PC MINGW32 /c/www (master)
$ git add index5.html

test@test-PC MINGW32 /c/www (master)
$ git commit -m "add index5.html"
[master 1b42b6d] add index5.html
1 file changed, 1 insertion(+)
create mode 100644 index5.html

test@test-PC MINGW32 /c/www (master)
$ git status
On branch master
nothing to commit, working tree clean

index5.htmlに「goodbye」を追記
test@test-PC MINGW32 /c/www (master)
$ echo goodbye >> index5.html

test@test-PC MINGW32 /c/www (master)
$ cat index5.html
hello
goodbye

test@test-PC MINGW32 /c/www (master)
$ 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: index5.html

no changes added to commit (use "git add" and/or "git commit -a")
index5.htmlはステージされていない

git checkout -- ファイル名 コマンドで変更を取り消す
test@test-PC MINGW32 /c/www (master)
$ git checkout -- index5.html

test@test-PC MINGW32 /c/www (master)
$ git status
On branch master
nothing to commit, working tree clean

index5.htmlの内容を確認
test@test-PC MINGW32 /c/www (master)
$ cat index5.html
hello

0 件のコメント:

その他の記事