mzgkworks

iOSを中心にプログラミング関係について書く

【Git】Git入門レッスン_Chapter05_7-10

ファイルの削除/ファイル名の変更について。

ファイルを削除する

インデックスとワーキングツリーの両方からファイルを削除する。

# インデックスとワーキングツリーから削除
$ git rm ファイル名

# 直前のコミットを修正
$ git commit --amend

05-07のテキストでは、Finderでファイル名変更後にコミットした際にインデックス上に変更前と変更後の両方のファイル情報がステージされているが、試した環境(git 2.2.0)ではrenameが認識されたので変更前ファイル削除は不要だった。

ファイル名を変更(gitコマンド)

インデックスとワーキングツリーに同じ名前で存在するときのみ使用可能。

# ファイル名を変更
$ git mv 対象ファイル 変更後のファイル名

# コミット
$ git commit -m "ファイル名変更テスト"

# 元に戻す(直前のコミットの1つ前)
$ git reset --hard HEAD~

ファイル名を変更(Finderで変更後)

先にFinderで変更した場合。 git add -Aで、ワーキングツリー以下のすべての追加・変更・削除を含めた変更をインデックスに登録する。

# ステージング
$ git add -A
# コミット〜戻しは上と一緒

HEADの意味

コミットを相対的に指定する記法。

HEAD^ = HEAD~ = 直前コミットの1つ前
HEAD^^ = HEAD~~ = HEAD~2 = 直前コミットの2つ前
HEAD^2 = **ヘッドの2人目の親**

インデックスのみファイルを削除する

# --cached:インデックスのみ削除対象とする
$ git rm --cached ファイル名

# コミット修正(--amendでインデックスの状態で上書き)
$ git commit --amend

参考書

ストーリー形式でGitの使い方を学んでいけるので、1人学習がしやすい本。

アリスとボブのGit入門レッスン

アリスとボブのGit入門レッスン

Kindle

アリスとボブのGit入門レッスン

アリスとボブのGit入門レッスン