コミット前の git add
を取り消すには git reset <file>
を実行します。すべてのファイルの変更を対象とする場合には git reset
を実行します。
古いバージョンの Git では、それぞれ git reset HEAD <file>
、git reset HEAD
というコマンドでした。この変更は Git 1.8.2 で対応されました。
その他のよく使われる Git の操作については下記の記事を参照してください。
- Git checkout (英語版)
- Git pull vs Git fetch (英語版)
- Gitignore (英語版)
Git に関する予備知識
Git プロジェクトの 3 つのセクションを理解する
Git プロジェクトには以下 3 つの重要なセクションがあります。
- Git ディレクトリ
- ワーキングディレクトリ (またはワーキングツリー)
- ステージングエリア
Git ディレクトリ (YOUR-PROJECT-PATH/.git/
にあるディレクトリ) は、Git がプロジェクトを正確に追跡するために必要なすべてのものが保存されている場所です。その中には、メタデータと、圧縮されたプロジェクトファイルの各バージョンを含むオブジェクトデータベースが含まれます。
ワーキングディレクトリは、ユーザーがプロジェクトに対してローカルで変更を行う場所です。ワーキングディレクトリは Git ディレクトリのオブジェクトデータベースからプロジェクトのファイルを取得し、ユーザーのローカルマシンに配置します。
ステージングエリアは、次のコミットに含める予定の情報を保存しているファイルです (「index」「stage」「cache」とも呼ばれます)。コミットとは、ステージングエリアに追加された変更を保存するよう Git に伝えるタイミングです。Git はその時点のファイルの状態のスナップショットを撮り、スナップショットを Git ディレクトリに永続的に保存します。
この 3 つのセクションにより、ある時点のファイルの状態は主に以下 3 種類のいずれかの状態を取ります。「変更済 (modified)」「ステージ済 (staged)」そして「コミット済 (committed)」です。ワーキングディレクトリにあるファイルに変更を加えると、そのファイルは「変更済」となります。次にそのファイルをステージングエリアに追加すると (訳注: git add
コマンドによりこれが行われる)「ステージ済」となります。最後に、コミットすると「コミット済」となります。
Git のインストール方法
Git 環境の設定
Git 環境をカスタマイズできる git config
というツール (コマンド) があります。特定のコンフィグ変数を設定することで、Git の見た目や機能を変更できます。これから説明するコマンドは、コマンドラインインターフェースで実行します (Mac ならターミナル、Windows ならコマンドプロンプトか PowerShell)。
コンフィグ変数の保存場所には次の 3 つのレベルがあります。
- システム:
/etc/gitconfig
に保存されている変数は、そのコンピューターのすべてのユーザーに適用されるデフォルト設定です。このファイルに変更を加えるには、git config
コマンドと--system
オプションを使用します。 - ユーザー:
~/.gitconfig
または~/.config/git/config
に保存されている変数は、ある特定のユーザーの設定として適用されます。このファイルに変更を加えるには、git config
コマンドと--global
オプションを使用します。 - プロジェクト:
YOUR-PROJECT-PATH/.git/config
に保存されている変数は、そのプロジェクトだけに適用される設定です。このファイルに変更を加えるには、git config
コマンドを使用します。
互いに競合する設定がある場合、プロジェクトレベルの設定はユーザーレベルの設定より優先され、ユーザーレベルの設定はシステムレベルの設定より優先されます。
Windows ユーザー向けの注意: Git は、ユーザーレベルの設定ファイル (.gitconfig
) をあなたの $HOME
ディレクトリ (C:\Users\$USER
) の中から探します。Git はまた /etc/gitconfig
も探しますが、これは MSYS のルートディレクトリからの相対パスであり、インストーラーの実行時にあなたが Git を Windows システムのどこにインストールするよう指定したかによって変わります。あなたが Git for Windows のバージョン 2.x 以上を使用しているなら、システムレベルの設定ファイルが下記の場所にも存在します。
- Windows Vista 以降なら
C:\ProgramData\Git\config
- Windows XP では
C:\Documents and Settings\All Users\Application Data\Git\config
この設定ファイルは、git config -f <file>
コマンドを管理者として実行する方法でのみ変更が可能です。
ユーザー名とメールアドレスの追加
Git は、ユーザー名とメールアドレスをコミットの情報の一部として含めます。下記コマンドでこの情報をユーザーレベルの設定ファイルに設定できます。
git config --global user.name "My Name"
git config --global user.email "myemail@example.com"
テキストエディタの変更
Git は自動でデフォルトのテキストエディタを使用しますが、変更することも可能です。下記は、代わりに Atom エディタを使用するよう設定する例です。(--wait
オプションは、シェルにテキストエディタを待つように指示します。これにより、プログラムの実行が先へ進む前に、テキストエディタで作業することができます。)
git config --global core.editor "atom --wait"
出力の表示色の設定
このコマンドで、シェルが Git の出力に色を付けるように設定できます。
git config --global color.ui true
すべての設定を確認するには、git config --list
コマンドを使用します。
プロジェクト内で Git を初期化する
Git のインストールと設定後、バージョン管理機能を使い始めるためには、プロジェクトディレクトリ内で Git を初期化する必要があります。コマンドラインで、cd
コマンドを使用してあなたのプロジェクトの一番上 (ルート) のディレクトリに移動します。次に、git init
コマンドを実行します。このコマンドは、Git があなたのプロジェクトを追跡するのに必要なファイルやオブジェクトを含んだ Git ディレクトリを設置します。
Git ディレクトリはプロジェクトのルートディレクトリに設置されていることが重要です。Git はサブディレクトリ内のファイルを追跡することができますが、Git ディレクトリから見て親ディレクトリにあるファイルは追跡できません。
Git のヘルプを表示する
Git コマンドの使い方を忘れた場合、コマンドラインから Git のヘルプにアクセスする方法がいくつかあります。
git help COMMAND
git COMMAND --help
man git-COMMAND
このコマンドは、指定されたコマンドのマニュアルページを表示します。シェルウィンドウに表示されたマニュアルは、上下キーでスクロールするか、下記のキーボードショートカットを使用して操作できます。
- f またはスペースキー: 次のページ
- b: 前のページ
- q: 閉じる