私のGitHubリポジトリには2つのディレクトリがあります。そのうちの1つを削除したいと思っています。リポジトリ全体を削除して作り直すことなく、削除するにはどうしたらいいでしょうか?
両方のディレクトリで 'master'をチェックアウトすることができました。
git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)
|{{9385064}} #ディレクトリを git から削除するがローカルからは削除しない コメントにもあるように、通常はこのディレクトリを git からは削除するが、ファイルシステム (local) からは完全に削除しないようにします。
その場合には
git rm -r --cached myFolder
何らかの理由でkarmakazeさんの言うことが効かない場合は、ファイルシステムブラウザ(例:Windowsのファイルエクスプローラー)を使って、目的のディレクトリを削除してみてください。ディレクトリを削除した後、以下のコマンドを実行してください。
git add -A<br> を実行し、その後、<br>
git commit -m 'deleting directory'<br> してから、<br> git push origin master
を実行します。
ディレクトリ内のファイルを(他の回答にあるようにgit rm
で)削除すると、gitに関する限りそのディレクトリはもはや存在しません。空のディレクトリをコミットすることはできませんし、削除することもできません。
これは、明示的に svn rm emptyfolder/
としなければならない subversion とは異なります。ちなみに、git の man
ページが自身を "the stupid content tracker" と表現しているのはこのためです。
また、"How do I add an empty directory to a git repository"の回答では、FAQ on this subjectへのリンクが張られています。
現在、git indexのデザインは (ステージングエリア)の設計では、ファイルは 現在,git index (staging area) の設計では,ファイルをリストアップすることしかできません. 空のディレクトリを許可するように変更するには 空のディレクトリを許可するように変更できるほど 誰もこの状況を改善しようとは思いませんでした。
ディレクトリは自動的に追加されます。 ディレクトリは、ファイルを追加する際に自動的に追加されます。つまり ディレクトリをリポジトリに追加する必要がなく リポジトリに追加する必要はなく、ディレクトリ単体では 追跡されません。
git add
`"と言えば、そこにファイルが追加されます。 と言えば、そこにファイルが追加されます。 どうしてもチェックアウトにディレクトリが必要な場合は どうしてもチェックアウトにディレクトリが必要な場合は .gitignore はこの目的によく合います。 この目的のためには、空にしておくこともできます。 空にしておいてもいいですし、あるいは ファイル名を記入することもできます。