タグ:
[スポンサー広告]スポンサーサイト
タグ: git * プログラミング * programming *
[GNU / Linux]Gitでファイルを削除する
Gitです。
間違えてコミットしてしまったファイルの削除と、間違えてcommitしないように条件付けする方法です。
参考としたのはつぎのページ
「git/無視するファイルを指定する方法(.gitignoreについて) - TOBY SOFT wiki」
「git/git覚書 - TOBY SOFT wiki」
間違えたファイルをコミットしてしまった場合、ファイルを削除してもコミットした情報は消せないそうです。
ですので、ファイルを削除する場合には、Git用の削除コマンドを用いなければなりません。
このようにgitコマンドに続いて、rmと指定することにより、ファイルそのものとコミットした情報の両方が削除されます。つづいて、commitコマンドを実行することにより、リポジトリに反映されます。
コミットした情報は消したいのだけど、ファイルそのものは残しておきたいという場合には、--cachedオプションをつけます。
ディレクトリ毎、コミットした情報を消したいという場合には、-rオプションをつけます。
このようにすることでsome_dirディレクトリ及びそれ以下のファイル、ディレクトリをすべてコミット情報から破棄します。
消したのはいいものの、「git add .」コマンドなどでまたコミットに追加されては困るという場は、.gitingoreファイルをプロジェクトのルートなどに作成してやり、そのファイルに追加したくないものの条件を書いてやることによって、追加を防ぐことができます。
このような条件をつけることで、ルート以下のすべてのディレクトリでファイル名が、末尾に~がつくもの、先頭が#のもの、test.rbというファイル名のものがあっても、追加されません。
またsome_dirディレクトリも追加されません。
間違えてコミットしてしまったファイルの削除と、間違えてcommitしないように条件付けする方法です。
参考としたのはつぎのページ
「git/無視するファイルを指定する方法(.gitignoreについて) - TOBY SOFT wiki」
「git/git覚書 - TOBY SOFT wiki」
間違えたファイルをコミットしてしまった場合、ファイルを削除してもコミットした情報は消せないそうです。
ですので、ファイルを削除する場合には、Git用の削除コマンドを用いなければなりません。
$ git rm test.rb
このようにgitコマンドに続いて、rmと指定することにより、ファイルそのものとコミットした情報の両方が削除されます。つづいて、commitコマンドを実行することにより、リポジトリに反映されます。
コミットした情報は消したいのだけど、ファイルそのものは残しておきたいという場合には、--cachedオプションをつけます。
$ git rm --cached test.rb
ディレクトリ毎、コミットした情報を消したいという場合には、-rオプションをつけます。
$ git rm -r --cached some_dir
このようにすることでsome_dirディレクトリ及びそれ以下のファイル、ディレクトリをすべてコミット情報から破棄します。
消したのはいいものの、「git add .」コマンドなどでまたコミットに追加されては困るという場は、.gitingoreファイルをプロジェクトのルートなどに作成してやり、そのファイルに追加したくないものの条件を書いてやることによって、追加を防ぐことができます。
$ cat .gitignore
*~
\#*
test.rb
some_dir/
*~
\#*
test.rb
some_dir/
このような条件をつけることで、ルート以下のすべてのディレクトリでファイル名が、末尾に~がつくもの、先頭が#のもの、test.rbというファイル名のものがあっても、追加されません。
またsome_dirディレクトリも追加されません。

