Elaborate ## I've no idea what I did wrong

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

@ -2069,9 +2069,13 @@ $ git config --global color.ui auto
## 何を間違ったかわからないとき
何かやらかした場合です。つまり、何かを `reset` してしまった、間違ったブランチをマージしてしまった、あるいは強制プッシュしてしまいコミットが見つけられない、といった状況です。ある時点まではうまくいっていたので、その状態に戻したいとします。
何かやらかした場合です。つまり、何かを `reset` してしまった、間違ったブランチをマージしてしまった、あるいは強制プッシュしてしまいコミットが見つけられない、といった状況です。
ある時点まではうまくいっていたので、その状態に戻したいとします。
こうしたときに `git reflog` が役に立ちます。`reflog` は、ブランチが他のブランチやタグに参照されていなくても、ブランチになされた変更を記録しています。HEAD が変更される際は基本的に reflog に記録が追加されます。ただ、残念ながら機能するのはローカルリポジトリのみで、変化だけを記録します(たとえば、どこにも記録されていないファイルへの変更は記録されません)。
こうしたときに `git reflog` が役に立ちます。
`reflog` は、ブランチが他のブランチやタグに参照されていなくても、ブランチになされた変更を記録しています。
HEAD が変更される際は基本的に reflog に記録が追加されます。
ただ、残念ながら機能するのはローカルリポジトリのみで、記録するのは変化だけです(たとえば、どこにも記録されていないファイルへの変更は記録されません)。
```sh
(master)$ git reflog
@ -2085,15 +2089,13 @@ c10f740 HEAD@{2}: checkout: moving from master to 2.2
最新のアクティビティは一番上に `HEAD@{0}` のラベルで表示されます。
間違えて差し戻ししてしまったとします。
コミット二つを間違って捨ててしまう前の、0254ea7 を参照するコミットを reflog は保持しています。
コミット二つを間違って捨ててしまう前の、`0254ea7` を参照するコミットを reflog は保持しています。
```sh
$ git reset --hard 0254ea7
```
Using `git reset` it is then possible to change master back to the commit it was before. This provides a safety net in case history was accidentally changed.
`git reset` を使って、マスターブランチを以前の状態に戻すことができます。履歴を間違えて変更してしまった場合の安全策です。
コマンド `git reset` を使って、マスターブランチを以前の状態に戻すことができます。履歴を間違えて変更してしまった場合の安全策です。
[出典](https://www.atlassian.com/git/tutorials/rewriting-history/git-reflog) からコピー・改変しました。)

Loading…
Cancel
Save