下記のコマンド二種はどう違いますか?
普段、コミットしていない変更を元に戻す際には、git reset --hard HEADを使っていますが、git checkout . を使う状況があれば教えて下さい。
git checkout .
(ピリオド)
git reset --hard HEAD
通常git checkout
はブランチを切り替える目的で使い、リビジョンを引数に指定しますが、git checkout .
では何を指定しているのでしょうか。ピリオドがHEADを指すわけでもないようですね。(下記)
bash
1$ git status 2On branch branch_a 3Changes to be committed: 4 (use "git reset HEAD <file>..." to unstage) 5 6 modified: aaaa 7 8Changes not staged for commit: 9 (use "git add <file>..." to update what will be committed) 10 (use "git checkout -- <file>..." to discard changes in working directory) 11 12 modified: cccc 13 14$ git checkout . 15$ git status 16On branch branch_a 17Changes to be committed: 18 (use "git reset HEAD <file>..." to unstage) 19 20 modified: aaaa 21 22$ touch dddd 23$ git status 24On branch branch_a 25Changes to be committed: 26 (use "git reset HEAD <file>..." to unstage) 27 28 modified: aaaa 29 30Untracked files: 31 (use "git add <file>..." to include in what will be committed) 32 33 dddd 34 35$ git checkout HEAD 36M aaaa 37$ git status 38On branch branch_a 39Changes to be committed: 40 (use "git reset HEAD <file>..." to unstage) 41 42 modified: aaaa 43 44Untracked files: 45 (use "git add <file>..." to include in what will be committed) 46 47 dddd 48
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/07 14:11