Git チュートリアル - ファイル操作
このチュートリアルでは、ファイルの削除、移動、名前変更など、git でのファイル操作について学習します。
Git はファイルを削除する
最も簡単なファイルを追跡から削除して最終的にライブラリから削除する方法は git rm
です。
$ git rm tes2.txt
rm 'test2.txt'
このコマンドを実行すると、ファイル test2.txt
が作業フォルダーから削除され、この削除情報がステージング領域に追加されます。
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: test2.txt
Git 名前変更ファイル
作業コピーのファイルの名前を直接変更する場合、Git はこの操作を 2つの操作と見なします。最初の操作は古い新しいファイルを削除し、2 番目の操作は新しく名前を付けたファイルを作業コピーに追加することです。
$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: test1.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
test1_rename.txt
no changes added to commit (use "git add" and/or "git commit -a")
このような操作の欠点は、ファイルの改訂履歴が破壊されることであり、この名前変更の瞬間よりも前に、この新しく名前が付けられたファイルの改訂履歴を取得できなかったことです。バージョン管理では望ましくありません。
Git には、この壊れたリンケージの問題を解決するための名前変更コマンドがあります-mv
$ git mv test1.txt test1_rename.txt
mv
は実際には move
を意味しますが、ここでは test1.txt
から test1_rename.txt
に移動することはファイルの名前を変更することも意味します。
ここで git status
を確認すると、renamed
が表示され、
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: test1.txt -> test1_rename.txt
Git 移動ファイル
ファイルの名前を変更するのと同様に、git でファイルを移動する場合も git mv
コマンドを使用しますが、ファイルの宛先は移動したファイルと同じディレクトリではありません。
$ git mv test1_rename.txt move/test1.txt
ここで、move
は宛先ディレクトリであり、test1.txt
は移動したファイル test1_rename.txt
の新しい名前です。
git status
を確認しましょう。
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: test1_rename.txt -> move/test1.txt
ご覧のとおり、これは renamed
操作でもありますが、宛先が異なります。