git基本コマンド2

git diff: ファイルの差分, 最後にstageした後に何を変更したかの確認によく使う
git diff –staged, git diff HEAD

$ git diff
diff –git a/hello.txt b/hello.txt
index 05a682b..4a49d86 100644
— a/hello.txt
+++ b/hello.txt
@@ -1 +1,2 @@
-Hello!
\ No newline at end of file
+Hello!
+I am a student.

### 履歴の中で違いを見る
git diff コミット1 コミット2
git diff コミット1 コミット2 — ファイル
$ git diff 7aad1 HEAD
$ git diff HEAD^ HEAD
$ git diff HEAD~1 HEAD
$ git diff @^^ @

headは@とも書ける

### コミット情報の表示
git show: 直近のコミットがどんなものだったかを表示する
$ git show

### 一度ステージした内容を変更
ファイルに変更を追加してgit add -uなどとする

### ステージの内容を見る
$ git ls-files

詳細を見る場合は-sオプションをつける
$ git ls-files -s
$ git show a5842752b

### ステージしたことを無かったことにする
git reset
git reset –file
git reset –hard   # ツリーの状態をHEADの上に戻す
$ git reset –hard
変更したものが、HEADの状態に戻る

### ステージした後の変更をなしにする
git checkout — file
$ git checkout — hello.txt
$ cat hello.txt

### ファイル名を変える
git mv 元のファイル 新しいファイル

### ファイルを管理下から外す
git rm ファイル

ステージだけから取り除き、作業ツリーにあるものは残したい場合 –cachedをつける
git rm –cached file
git rm -r –cached dir

### 昔のファイルをリポジトリから取り出す
$ git checkout HEAD~3 –hello.txt

チェックアウトせずに昔のファイルを見る
$ git show HEAD~3:hello.txt

$ git checkout HEAD~3 — hello.txt
$ git show HEAD~3:hello.txt

### 作業ツリーの内容をHEADの状態にする
$ git reset –hard
$ ls

### 最近の履歴を無かったものにする
$ git reset –hard コミット
$ git reset a82684a02
$ git log

### 直近のコミットをやり直す
$ git commit –amend

### gitにファイルを無視させる
.gitignoreを使う

*.log
!test.log

$ git commit -m “8th commit”

使いながら覚えないとどうにもならんな これ…