Elaborate ## Staging

pull/294/head
SI 4 years ago committed by GitHub
parent ec45354d85
commit 59307fd087
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -635,7 +635,7 @@ pick f4037ec The last commit
あとは上を実行すれば完了です。
## ステージング
## ステージ
<a href="#i-want-to-stage-all-tracked-files-and-leave-untracked-files"></a>
@ -662,7 +662,7 @@ $ git add -u src/
(my-branch*)$ git commit --amend
```
コミットメッセージを変更したくないときは、コミットメッセージを再利用するよう Git に指示します
コミットメッセージを変更したくないときは、コミットメッセージを再利用するよう Git に指示します
```sh
(my-branch*)$ git commit --amend -C HEAD
@ -671,7 +671,7 @@ $ git add -u src/
<a name="commit-partial-new-file"></a>
### 新しいファイルの全部ではなく一部をステージしたい
通常、ファイルの一部をステージするには次を実行します
通常、ファイルの一部をステージするには次を実行します
```sh
$ git add --patch filename.x
@ -679,32 +679,33 @@ $ git add --patch filename.x
短縮形は `-p` です。これにより対話モードが開きます。
オプション `s` をつけるとコミットを分割 (split) できます。ただし、新しく作ったファイルの場合このオプションは使えません。
ファイルを新たに追加するには、次を実行します
ファイルを新たに追加するには、次を実行します
```sh
$ git add -N filename.x
```
オプション `e` を使うと、どの行を追加するか手動で選択することができます。
`git diff --cached` あるいは `git diff --staged` を実行すると、ステージした行がローカルに保存されたものと比較して表示されます。
コマンド `git diff --cached` あるいは `git diff --staged` を実行すると、ステージした行がローカルに保存されたものと比較して表示されます。
<a href="stage-in-two-commits"></a>
### 一つのファイルに加えた編集を二つの異なるコミットに追加したい
`git add` はファイル全体をコミットに追加します。
`git add -p` を使うと、どの編集内容を追加するか対話的に選択できます。
コマンド `git add` はファイル全体をコミットに追加します。
また、`git add -p` を使うと、どの編集内容を追加するか対話的に選択できます。
<a href="selective-unstage-edits"></a>
### ステージした編集内容が多すぎるので、いくつかのコミットに分割したい
`git reset -p` を実行すると、パッチモードのリセットダイアログが開きます。
`git add -p` と似ていますが、"yes" がステージを取り消して次のコミットから除去することを意味する点で異なります。
コマンド `git reset -p` を実行すると、パッチモードのリセットダイアログが開きます。
なお、`git add -p` と似ていますが、"yes" がステージを取り消して次のコミットから除去することを意味する点で異なります。
<a href="unstaging-edits-and-staging-the-unstaged"></a>
### ステージされていない編集内容をステージし、ステージされた編集内容のステージを取り消したい
通常は、ステージされたファイルのステージングを一旦全部取り消したあと、コミットしたいものをピックするべきです。
ステージされている編集とされていない編集を切り替えたいときは、ステージされた編集を記録しておく仮のコミットを作成し、ステージされていないファイルをステージしてスタッシュします。それから仮のコミットをリセットして、スタッシュを pop します。
ステージされている編集とされていない編集を切り替えたいときは、ステージされた編集を記録しておく仮のコミットを作成し、ステージされていないファイルをステージしてスタッシュします。
それから仮のコミットをリセットして、スタッシュを pop します。
```sh
$ git commit -m "WIP"
@ -714,7 +715,8 @@ $ git reset HEAD^
$ git stash pop --index 0
```
注意 1ここで `pop` を使うのは、操作を複数回行っても結果がなるべく変わらないようにするためです。
注意 1ここで `pop` を使うのは、操作を複数回行ってもなるべく結果が変わらないようにするためです。
注意 2ここで `--index` を指定しないと、ステージされたファイルはステージされていない扱いになります(理由は[このリンク](https://stackoverflow.com/questions/31595873/git-stash-with-staged-files-does-stash-convert-staged-files-to-unstaged?answertab=active#tab-top)を参照してください)。
## ステージされていない編集

Loading…
Cancel
Save