Windows シェル拡張(エクスプローラに機能を追加)で Git を操作できる無料の Git クライアントソフトウェア TortoiseGit を用いて、 Git の公式サイトの reset コマンドの説明のページ「Git – リセットコマンド詳説」でリセットの解説に用いるリポジトリ例を実際に作成する手順を紹介します。

※ TortoiseGit-2.17.0.2-64bit を使用します。
前回の記事
前回は、TortoiseGit で、リポジトリを作成した直後に存在する Git の管理情報を保持する .git フォルダの中身について公式の説明を引用しながら確認しました。
公式のサンプルのリポジトリの作成
公式の「Git – リセットコマンド詳説」で reset コマンドの解説に用いているリポジトリ例をエクスプローラのシェル拡張の Git クライアントソフト TortoiseGit を用いて作成します。
リポジトリ作成直後はブランチがない?
ステージングエリアへの追加・コミットを行う前に、 TortoiseGit でリポジトリを作成した直後のブランチの有無を確認します。
興味がない場合は次の章にスキップしてください。
エクスプローラで開いたリポジトリフォルダを右クリックして表示されるメニュー「 TortoiseGit 」→「切り替え/チェックアウト」を選択します。

エクスプローラの上側には、 TortoiseGit のシェル拡張によって、フォルダ名の後に [ master △] と、ブランチの名前が表示されていますが、ダイアログの「切り替え先」枠の「ブランチ」のリストを開くとブランチが1つも表示されません。

git branch コマンドで、存在するブランチを確認します。
エクスプローラのアドレスバーで cmd⏎ と入力して、そのフォルダの位置でコマンドプロンプトを開きます。

git branch コマンドの結果、ブランチが1つも表示されませんでした。
このことから、最初のコミットをする前は、まだ実際はブランチが存在しないことが推測できます。

ステージングエリア(次回のコミットの対象)に新規ファイルを追加
作業ディレクトリで、ファイルを新規作成して、それを Git 管理にコミットするために、ステージングエリアに追加します。
ステージングエリアは、次のコミットの対象になるファイル群を追加しておく Git 内部で管理される場所です。
Git 管理に加えたいファイルを右クリックして、メニュー「 TortoiseGit 」→「追加」を選択します。

メニュー「追加」(おそらく git add コマンドに対応)が成功すると、ファイルに青い+のアイコンが TortoiseGit によって表示されました。
これは、次のコミットの対象を置いておく、ステージングエリアにファイルが追加されている状態を表します。
ダイアログを OK ボタンで閉じましょう。
※すぐにコミットしたい場合は、「コミット」ボタンを押してください。

メニュー「追加」(おそらく git add に対応)を実行した後で .git フォルダを確認すると、リポジトリ作成直後はなかった index ファイルが新たに作成されています。
index ファイルは、Git の状態を表す3つのツリーの一つである、ステージングエリア(インデックス)の情報を保持します。

ファイルの中身はバイナリ形式のようで、テキストエディタでは文字化けしていました。
DIRC h<I6・臧<I6・・ ▽ 譚笵イムヨCK・ョwZリツ芟S・file.txt I゚.J_讀、ネOU賁b
ワーキングツリーとインデックスの状態を確認できる git status コマンドを実行すると、ステージングエリアに追加したファイル名が緑色の文字色で表示されています。

ステージングエリアの新規ファイルをコミットして Git 管理に追加
ステージングエリア(次のコミットの対象を置く場所)に追加したファイルをコミットします。
※先ほどの「追加」ダイアログで「コミット」ボタンを押した場合も同様です。
ステージングエリアに追加されているファイルを右クリックして表示されるメニュー「 Git コミット (C) -> “ブランチ名 …” 」を選択します。
これにより、その名前のブランチにファイルが記録されます。

「コミット」ダイアログで、コミット先(例では master)を確認して、メッセージのテキストエリアで、このコミットの説明を記述します。
下側のリストには、ステージングエリアに追加したファイル群が表示されるので、コミットしたいものだけにチェックをいれて、「コミット」ボタンを押します。

コミットが成功すると、そのファイルのアイコンが緑色の✔のアイコンに変わります。
以上で、ファイルをブランチ(例では master )の Git 管理に記録できました。
ダイアログの「閉じる」ボタンを押して閉じます。

コマンドプロンプトで再び、git status コマンドでワーキングツリーとインデックスの状態を確認すると、コミットしたため、ステージングエリアなどは空になっています。

今回の作業で行ったコマンドプロンプトによる確認の結果は以下です。
G:\Dev\StudyTortoiseGit\Repo1>git branch
G:\Dev\StudyTortoiseGit\Repo1>git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file.txt
G:\Dev\StudyTortoiseGit\Repo1>git branch
* master
G:\Dev\StudyTortoiseGit\Repo1>git status
On branch master
nothing to commit, working tree clean
今回はここまで
次回に続きます。
参照サイト Thank You!
- Git
- TortoiseGit – Windows Shell Interface to Git
- Git – リセットコマンド詳説
- Git – git-checkout Documentation
- Git – git-add Documentation
- Git – git-status Documentation
- Git – git-add Documentation
- Git – git-commit Documentation
記事一覧 → Compota-Soft-Press
コメント