Git - 間違いを修正する:初心者向けのGitエラーコレクションガイド
こんにちは、将来のGitマスターさんたち!あなたの近所の親切なコンピュータサイエンスの先生として、Gitバージョンコントロールのやや難しい世界を案内します。今日は、Gitで間違いを修正する方法を探ってみましょう。Gitを一度も使ったことがない方でも心配しないでください。最初から始めて、少しずつ進めていきます。このチュートリアルの終わりまでに、プロのように変更を撤销することができるようになります!
Gitの基本を理解する
間違いを修正する前に、まずGitとは何であり、なぜそれが如此に重要であるかを簡単に復習しましょう。Gitは、開発者がコードの変更を時間とともに追跡するのに役立つバージョンコントロールシステムです。プロジェクトのタイムマシンと考えてください - プロジェクトの履歴の任意のポイントに戻ることができます!
それでは、本題の間違いを修正する方法について進めましょう。
未コミットの変更を撤销する
未经提交的更改是什么?
未经提交的更改とは、まだGitの履歴に保存(または「コミット」)していないファイルへの変更です。これらは、まだ作業中の草稿のようなものです。
未コミットの変更を撤销する方法
ファイルに変更を加えた后发现、それが望んでいるものではないと気づいた場合、以下のように撤销できます:
git checkout -- filename
例えば、mycode.py
というファイルに不要な変更を加えた場合、以下のように入力します:
git checkout -- mycode.py
このコマンドは、Gitにmycode.py
の変更を破棄し、最後にコミットされたバージョンに復元するよう指示します。
すべての未コミットの変更を撤销する
ワークディレクトリ内のすべての未コミットの変更を撤销するには、以下を使用します:
git checkout -- .
ドット(.)は「現在のディレクトリ内のすべてのファイル」という意味です。
プロ tip: これらのコマンドを実行する前に必ず確認してください。変更は永久的に破棄されます!
ステージングエリアから変更を削除する
ステージングエリアとは?
Gitのステージングエリアは、コミットする準備ができているファイルを置くプレップエリアのことです。ワークディレクトリとGitリポジトリの間の中間ステップです。
変更をアンステージする方法
ファイルをステージングエリアに追加(git add
を使用して)した后发现、コミットしたくないと判断した場合、以下のコマンドでステージングエリアから削除できます:
git reset HEAD filename
例えば、mycode.py
をアンステージしたい場合:
git reset HEAD mycode.py
このコマンドは、ファイルをステージングエリアから移動しますが、ワークディレクトリの変更は保持されます。
すべての変更をアンステージする
すべてのファイルを一度にアンステージするには:
git reset HEAD
必記:これは変更を削除するものではなく、ステージングエリアから削除するだけです。
Git ResetでHEADポインタを移動する
HEADの理解
Gitでは、HEADは現在作業中のコミットを指す特別なポインタです。プロジェクトの履歴のブックマークのようなものです。
ソフトリセット
ソフトリセットは、HEADポインタを特定のコミットに移動しますが、変更をステージングします:
git reset --soft commit_hash
例えば:
git reset --soft abc123
これは、コミットメッセージを再編集したり、複数のコミットを1つにまとめたりするのに便利です。
ミックスリセット(デフォルト)
ミックスリセットは、HEADを移動し、変更をアンステージングします:
git reset commit_hash
または明示的に:
git reset --mixed commit_hash
これはgit reset
のデフォルトモードです。ステージングとコミットの両方を再編集したい場合に便利です。
ハードリセット
ハードリセットは、HEADを移動し、すべての変更を破棄します:
git reset --hard commit_hash
警告:このコマンドは指定されたコミット以降のすべての変更を永久的に破棄します。慎重に使用してください!
リセットの種類の摘要
以下の表に、さまざまなリセットの種類をまとめます:
リセットの種類 | HEAD | インデックス | ワークディレクトリ |
---|---|---|---|
ソフト | はい | いいえ | いいえ |
ミックス | はい | はい | いいえ |
ハード | はい | はい | はい |
結論
おめでとうございます!Gitの最も一般的な間違いを修正する方法を学びました。誰もが間違いを犯します - 経験豊富な開発者でもです。重要なのは、それを修正する方法を知っていることです。
以下に、今日カバーした内容の簡単なまとめを示します:
- 未コミットの変更を撤销する
- ステージングエリアから変更を削除する
- 異なるリセットタイプでHEADポインタを移動する
テストリポジトリでこれらのコマンドを練習し、間違いを修正するプロのようになります。ハッピーコーディングを、そしてGitの世界では、修正できない間違いはありません!
Credits: Image by storyset