リポジトリの作成、ファイルの削除・変更
既存のディレクトリ (及びファイル) にリポジトリを作成してファイルを追加
具体例として ~/tmp/app1 というディレクトリに、 app1.c というソースファイルが存在する状況を考えます。
~/tmp/app1$ ls app1.c
さて、ここにリポジトリを作成してファイル app1.c をそのリポジトリに追加します。
$ cd tmp/app1 $ git init Initialized empty Git repository in /home/keisukeo/tmp/app1/.git/ $ git add app1.c $ git commit -m "Initial commit" [master (root-commit) 6fe2b0f] Initial commit 1 files changed, 6 insertions(+), 0 deletions(-) create mode 100644 app1.c
リポジトリに追加するファイルが多数ある場合は、 git add . などと出来ます。
リポジトリ内のファイル名の変更
リポジトリ内のファイル名を変更あるいは移動するには、 git mv コマンドを使えます。
例えば、現在のファイル名が foo.c のものを bar.c に変更する場合は次のようにします。
現在のファイル名を確認します。 (もちろん、これは単に確認であって必須ではありませんよ)
$ ls a.out app1.c foo.c foo.h
確かに foo.c が存在します。
ここで、次のコマンドで foo.c から bar.c に変更します。
$ git mv foo.c bar.c
git のステータスを確認します。
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # renamed: foo.c -> bar.c #
確かに foo.c から bar.c へのリネームが記録されていますね。ではこのままコミットします。
$ git commit -m "rename foo.c to bar.c" [master 7434fe0] rename foo.c to bar.c 1 files changed, 1 insertions(+), 1 deletions(-) rename foo.c => bar.c (56%)
念のため最終的なファイル名を確認すると・・・
$ ls a.out app1.c bar.c foo.h
foo.c はなくなり、 bar.c が出来上がっています。 (なお、ファイル名が変わるのはコミットの時ではなく、 git mv のタイミングです。念のため。)
なお、変更先にディレクトリを指定するとファイルの移動になります。
リポジトリ内のファイルの削除
リポジトリ内のファイルを削除するには、 git rm コマンドが使えます。
具体例として、次の中の bar.h を削除することを考えます。
$ ls a.out app1.c bar.h foo.c foo.h
git rm でファイルを削除します。
$ git rm -- bar.h rm 'bar.h'
確かにファイルが削除されています。
$ ls a.out app1.c foo.c foo.h
リポジトリのステータスを確認すると、 bar.h の削除が記録されており・・・
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # deleted: bar.h #
コミットすると完全にリポジトリから削除されます。
$ git commit -m "Delete bar.h" [master a85f905] Delete bar.h 1 files changed, 0 insertions(+), 1 deletions(-) delete mode 100644 bar.h
なお、コミットする前には次のようにして削除したファイルを元にもどすことも可能です。
$ git reset HEAD -- bar.h $ git checkout -- bar.h