TortoiseGit Git公式の reset 説明用リポジトリの作成2/3

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

TortoiseGit ダウンロードとインストール1

TortoiseGit-2.17.0.2-64bit を使用します。

前回の記事

コミットしたファイルの内容を変更

前回、リポジトリのブランチ(例では master ブランチ)に初めてコミットしたテキストファイル編集します。

Git でバージョン管理されているファイルの内容が変更されると、 TortoiseGit がそれを検知して、エクスプローラのアイコンの一部が緑色から赤色に変わりました。

Git公式のresetコマンド説明用のリポジトリの作成13

ファイルの変更をコミットするために、次のコミットの対象を置いておくステージングエリアに追加しようとしましたが、 TortoiseGit のメニューに「追加」は表示されません

Git公式のresetコマンド説明用のリポジトリの作成14

コマンドプロンプトで git status コマンドでワーキングツリーとインデックスの状態確認すると、ファイルの変更検知されていることが赤色の文字色で表示されています。
そして、その変更をコミットするために git add や git commit -a コマンドを使用することが案内されえています。

Git公式のresetコマンド説明用のリポジトリの作成15

git commit -a の -a オプションは、変更されたファイルを自動的にステージングエリアに追加して、コミットを行います。

TortoiseGit で「追加」メニューが選択できず、まだステージングエリアに追加されていないことから、 TortoiseGit では、変更されたファイルを git commit -a によって、変更を検知しているファイルを自動的にステージングエリアに追加してコミットするのかもしれません。

by using the -a switch with the commit command to automatically “add” changes from all known files (i.e. all files that are already listed in the index) and to automatically “rm” files in the index that have been removed from the working tree, and then perform the actual commit;

commit コマンドで -a スイッチを使用すると、すべての既知のファイル (つまり、インデックスに既にリストされているすべてのファイル) からの変更が自動的に「追加」され、作業ツリーから削除されたインデックス内のファイルが自動的に「rm」され、実際のコミットが実行されます。
Git – git-commit Documentation

ファイルの変更をコミット

変更が検知されて赤色のアイコンがついている、変更したファイル右クリックして表示されるメニュー「Git コミット (C) -> “ブランチ名”…」を選択します。

Git公式のresetコマンド説明用のリポジトリの作成16

前回と同様に、コミット先ブランチ(例では master)を確認して、コミットの説明文を「メッセージ」項目のテキストエリアに記述します。

下側のリストで、コミットしたいファイルだけをチェックして「コミット」ボタンを押します。
変更が検知されたファイルは、ステージングエリアに追加しなくてもリストに追加されています。

Git公式のresetコマンド説明用のリポジトリの作成17

「コミット」ボタンを押す直前、「コミット」ダイアログを開いた状態で git status コマンドでワーキングツリーとインデックスの状態確認しても、先ほどと同じく、ファイルの変更は検知されていますが、git status の結果を見るとステージングエリアには追加されていません

Git公式のresetコマンド説明用のリポジトリの作成18

コミット成功すると、ファイルのアイコン赤色から緑色に変わり、ブランチに記録されているファイルのデータと、作業ディレクトリのファイルのデータの差分がなくなりました
ダイアログを「閉じる」ボタンで閉じます。

Git公式のresetコマンド説明用のリポジトリの作成19

以上で、Git の公式サイトの reset コマンドの説明のページ「Git – リセットコマンド詳説」でリセットの解説に用いてるリポジトリ例と同じ状態のリポジトリを作成できました

コミットの履歴(ヒストリー)を確認

ファイルを Git バージョン管理に追加する1回目のコミットと、ファイル内容の変更を記録する2回目のコミットを履歴(ヒストリー)として確認してみましょう。

エクスプローラで、リポジトリフォルダを開いて、右クリックで表示されるメニュー「 TortoiseGit 」→「リビジョングラフ」を選択します。

Git公式のresetコマンド説明用のリポジトリの作成20

最新のコミットは、上側の赤色の枠のブランチ名(例では master)で表されています。
ブランチ名の上にマウスオーバーすると、最新(2回目)のコミット説明(メッセージやコミットをした時刻やユーザーの情報)が表示されました。

その下側の、1つ前のコミットは、そのコミットに割り当てられた一意のコミットハッシュという英数字の羅列で管理されています。
そのコミットハッシュの上をマウスオーバーすると、1回目のコミットの説明が表示されました。

Git公式のresetコマンド説明用のリポジトリの作成21

前回も含めたコマンドプロンプトによる確認の結果は以下です。

Microsoft Windows [Version 10.0.19045.5737]
(c) Microsoft Corporation. All rights reserved.

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

G:\Dev\StudyTortoiseGit\Repo1>git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   file.txt

no changes added to commit (use "git add" and/or "git commit -a")

G:\Dev\StudyTortoiseGit\Repo1>git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   file.txt

no changes added to commit (use "git add" and/or "git commit -a")

G:\Dev\StudyTortoiseGit\Repo1>

今回はここまで

次回に続きます。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました