Gitコマンドについて調べる【gitのファイル、ディレクトリ操作】

ファイル・ディレクトリの新規追加

ファイルの追加

コマンドは特にないようですので普通にファイルを追加します。touchコマンドなどを使って通常通りファイルを追加します。

$ touch README.md

ディレクトリの追加

ディレクトリの新規追加もコマンドは特にないようですので普通にディレクトリを追加します。

$ mkdir docs

ただし、ファイルが何も入っていない空のディレクトリはgitの管理対象外ですので、コミットすることはできません。空のディレクトリを残しておきたい場合は、慣例的に.keepや.gitkeepファイルをおいておくようです。

touch docs/.gitkeep

ファイル・ディレクトリの移動

$ git mv [元のファイル、ディレクトリパス] [移動先のファイル・ディレクトリパス]

例)

# カレントディレクトリにあるREADME.mdをdocsディレクトリに移動
$ git mv README.md docs/README.md

# docsディレクトリをlibディレクトリ内に移動
$ git mv docs lib/docs

ファイル名・ディレクトリ名の変更

ファイル・ディレクトリの移動と同じで、git mvを使います。

$ git mv [元のファイル・ディレクトリ名] [変更後のファイル・ディレクトリ名]

例)

# README.mdをREADME-2.mdに変更
$ git mv README.md README-2.md

# docsディレクトリをdocumentsに変更
$ git mv docs documents

名称の変更と移動は同じgit mvなので、移動をしながら名称を変更できます。

# ファイル名を変えつつディレクトリを移動
$ git mv README.md docs/README-2.md

ファイル・ディレクトリの削除

ファイルの削除

$ git rm [ファイル名]

例)

# README.mdを消す
$ git rm README.md

ディレクトリの削除

-r オプションを付けます。

git rm -r [ディレクトリ名]

例)

# docsディレクトリを消す
$ git rm -r docs

ディレクトリを削除した場合はディレクトリ内のすべてのファイルも削除されます。

--cachedオプション

--cachedをつけるとgit上からは削除されますがファイル自体は残しておくことができます。

# docsディレクトリをgit上からは削除する
$ git rm -r --cached docs

これはgitリポジトリに対して削除したコミットをできるだけで、ファイル・ディレクトリ自体はgitの管理対象からは外れていないため、次からのコミット対象には含まれるため注意。管理対象から外したい場合は.gitignoreに追記が必要です。