この記事は【超初心者必見】gitの使い方をマスターする①の続きです。
https://qiita.com/ryu110/items/c8c6deecddd66dad6b11
【超初心者必見】gitの使い方をマスターする③
https://qiita.com/ryu110/items/1e82209fdc7ba8968101
⑦履歴管理
git logで履歴を確認することが出来ましたが、もっと便利なコマンドもあります。
commitメッセージだけを参照する。
git log --oneline
変更された場所を詳細に確認する。
これはどこがどのように変更されたのかを詳細に確認できます
git log -p
どのファイルが何箇所変更されたか確認する。
git log --stat
⑧git statusを使う。
まず、前回の記事で書いたように、書き換えたファイルにもう一度追加してみる。
vim index.html
その後に、statusを確認する。
これは現在どの状態にいるのか確認する時に使う。
今回だと、git add .から行って、その後に、git commitをするか、
もしくは、git checkout -- file名を入力して変更を破棄するかというメッセージがでてくる。
git status
もし変更を破棄したいならば、今回ならばindex.htmlの変更を破棄したいので、下記のように記述する。
git checkout -- index.html
これでもう一度確認してみる。
cat index.html
もしくは
type index.html
変更したファイルの中で何を変更したか確認する方法。
差分が確認できる。
ただしこれは、まだステージングエリア(git add file名などで移動させたもの)にあげてないもののみ見れる。
git diff
ステージングエリアにあげたものの差分を確認する。
git diff --cached
⑨複数のファイルを一気にステージングエリアに移動する方法。
ピリオドは階層を表しています。
今いるファイルのひとつ前からの階層全てをステージングエリアに移動させます。
git add .
逆に指定したファイルをステージングエリアに移動させたくない場合。まずはgitignoreのファイルを作成する。
vim .gitignore
その後に、コードを書き込める画面になるので
下記を入力する。そしてEscを押して、:wqでエンターを押します。
今回は*.logを入力しましたがこの意味は.logとついたファイル名全てをステージングには移動させないということです。
*.log
got commitをした後に少しだけ変更を加えたい場合。
まずはコードに少し変更を加える。前回も行ったようにvimを使って変更を加えてみる。
vim index.html
少し文字を追加などした後に、Escを押して:weで保存する。
次にこの変更を前回のコミットに追加する。
下記のコマンドを入力すると前回のコミットメッセージが出てくるので、変更したい場合は変更し、そのままでいいなら、そのままで保存する。
これを行うことで、不要なコミットを防ぐことができる。git logなどの管理もしやすくなる。
git commit —amend
複数回git commitをした後に、複数コミットした内容がある場合に、新しい変更でgit addをしてステージングエリアに移動した後に、やっぱり今回の変更が気に食わない場合。
まず、git logで前回までの履歴を確認する。
git log
次に,現在の作業ディレクトリもステージングエリアも一気に戻したい場合。オプションでhardをつける。
HEADは直前のコミットに戻したい場合に加える。
git reset —-hard HEAD
逆に2、3個前のコミットに戻したい場合。
git logで戻りたいコミットのidをコピーして加えます。
git reset —hard HEAD r56ft7vyb7g8(idを最低7桁以上加えれば良い)
もし取り消してしまったコミットを戻したい場合。
これは1つ前のコミット内容しか戻せない。
git reset —-hard ORIG_HEAD