Elaborate ## Unstaged Edits

This commit is contained in:
SI 2020-02-24 19:02:56 +09:00 committed by GitHub
parent 59307fd087
commit b98b984070
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 19 deletions

View File

@ -722,14 +722,14 @@ $ git stash pop --index 0
## ステージされていない編集 ## ステージされていない編集
<a href="move-unstaged-edits-to-new-branch"></a> <a href="move-unstaged-edits-to-new-branch"></a>
### ステージされていない編集内容を新しいブランチに移したい ### ステージされていない編集を新しいブランチに移したい
```sh ```sh
$ git checkout -b my-branch $ git checkout -b my-branch
``` ```
<a href="move-unstaged-edits-to-old-branch"></a> <a href="move-unstaged-edits-to-old-branch"></a>
### ステージされていない編集内容を別の既存のブランチに移したい ### ステージされていない編集を別の既存のブランチに移したい
```sh ```sh
$ git stash $ git stash
@ -738,9 +738,9 @@ $ git stash pop
``` ```
<a href="i-want-to-discard-my-local-uncommitted-changes"></a> <a href="i-want-to-discard-my-local-uncommitted-changes"></a>
### コミットされていないローカルの編集内容を破棄したい(ステージされている場合・されていない場合) ### コミットされていないローカルの編集を破棄したい
ステージされている編集内容ステージされていない編集内容の両方を全て破棄したいときは、次のようにします ステージされている編集とされていない編集の両方を全て破棄したいときは、次のようにします
```sh ```sh
(my-branch)$ git reset --hard (my-branch)$ git reset --hard
@ -748,31 +748,32 @@ $ git stash pop
(master)$ git checkout -f (master)$ git checkout -f
``` ```
これは `git add` でステージした全ファイルのステージングを取り消します: 次のコマンドは `git add` でステージした全ファイルのステージを取り消します。
```sh ```sh
$ git reset $ git reset
``` ```
これはコミットされていないローカルの編集内容を全て差し戻します(リポジトリのルートで実行する必要があります) 次のコマンドはコミットされていないローカルの編集を全て差し戻します(リポジトリのルートで実行する必要があります)
```sh ```sh
$ git checkout . $ git checkout .
``` ```
特定のファイルやディレクトリについてコミットされていない編集を差し戻すこともできます 特定のファイルやディレクトリについてコミットされていない編集を差し戻すこともできます
```sh ```sh
$ git checkout [some_dir|file.txt] $ git checkout [some_dir|file.txt]
``` ```
コミットされていない編集内容を差し戻すのには次の方法もあります(コマンドが長いですが、任意のサブディレクトリから実行できます) コミットされていない編集を全て差し戻すのには次の方法もあります(コマンドが長いですが、任意のサブディレクトリから実行できます)
```sh ```sh
$ git reset --hard HEAD $ git reset --hard HEAD
``` ```
次を実行するとローカルのバージョン管理されていないファイルが全て削除されます。つまり Git によって管理されているファイルだけ残ります: 次を実行するとローカルのバージョン管理されていないファイルが全て削除されます。
つまり、Git で管理されているファイルだけ残ります。
```sh ```sh
$ git clean -fd $ git clean -fd
@ -780,18 +781,18 @@ $ git clean -fd
Git に無視されるファイルも全て取り除くには `-x` を指定します。 Git に無視されるファイルも全て取り除くには `-x` を指定します。
### ステージされていない特定の編集内容を破棄したい ### ステージされていない特定の編集を破棄したい
ワークツリーの編集内容の全部ではなく一部だけを破棄したい場合です。 ワークツリーの編集の全部ではなく一部だけを破棄したい場合です。
残したい編集内容だけを残し、残したくない編集をチェックアウトします。 残したい編集だけを残し、残したくない編集をチェックアウトします。
```sh ```sh
$ git checkout -p $ git checkout -p
# 破棄したいコードすべてについて y と答える # 破棄したいコードすべてについて y と答える
``` ```
もう一つの方法は `stash` を使います。残したい編集内容をスタッシュし、ワークツリーをリセットして、残したい編集内容を適用します。 もう一つの方法は `stash` を使います。残したい編集をスタッシュし、ワークツリーをリセットして、残したい編集を適用します。
```sh ```sh
$ git stash -p $ git stash -p
@ -800,7 +801,7 @@ $ git reset --hard
$ git stash pop $ git stash pop
``` ```
あるいは、残したくない編集内容をスタッシュして、スタッシュ内容を破棄してもよいです。 あるいは、残したくない編集をスタッシュして、スタッシュを破棄してもよいです。
```sh ```sh
$ git stash -p $ git stash -p
@ -816,15 +817,15 @@ $ git stash drop
$ git checkout myFile $ git checkout myFile
``` ```
ワークツリー上の複数のファイルを破棄したいときは、それらを列挙します。 ワークツリー上の複数のファイルを破棄したいときは、破棄したいファイルを列挙します。
```sh ```sh
$ git checkout myFirstFile mySecondFile $ git checkout myFirstFile mySecondFile
``` ```
### ステージされていないローカルな編集内容だけを破棄したい ### ステージされていないローカルな編集だけを破棄したい
コミットもステージもされていないローカルの編集内容を全て破棄したい場合は、次を実行します。 コミットもステージもされていないローカルの編集を全て破棄したいときは、次を実行します。
```sh ```sh
$ git checkout . $ git checkout .
@ -842,8 +843,8 @@ $ git clean -f
<a href="I-want-to-unstage-specific-staged-file"></a> <a href="I-want-to-unstage-specific-staged-file"></a>
### 特定のステージされたファイルのステージングを取り消したい ### 特定のステージされたファイルのステージングを取り消したい
間違えてステージされてしまったファイルが一つまたは複数あって、まだコミットされていない場合です。 間違えてステージしたが、コミットはしていないファイルが一つまたは複数ある場合です。
そのステージングを取り消すには次のようにします: そのステージを取り消すには次のようにします。
```sh ```sh
$ git reset -- <filename> $ git reset -- <filename>