1. ホーム
  2. git

[解決済み] git - 空のフォルダを削除して、その変更をプッシュするには?

2023-03-19 21:59:46

質問

空のフォルダをローカルに削除し、プルプッシュでリモートを共有する他の共同作業者にも同じことをさせるにはどうしたらよいでしょうか。 フォルダが git によってそのような意味で「追跡」されないことは知っていますが、疑問は残ります。

例:私はファイルを別のフォルダに移動し、(移動の)変更をコミットしました。

しかし、私は git rm name と表示され、フォルダが見つかりません。 git rmdir name は存在しません。

をすることができます。 git clean -f folder がありますが、これはどのように押し上げるのでしょうか?

私は直接 rm ファイルを削除することはできますが、ディレクトリの削除を正しく行い、リポジトリにプッシュし、他の人がプルしたときに既存のフォルダが削除されるようにするにはどうすればよいでしょうか?

どのように解決するのですか?

簡単な答えです。 ディレクトリへの変更(追加、削除など)をプッシュすることはできません。Gitはディレクトリを独自に追跡しないためです。 .

によると よくある質問 :

<ブロッククオート

現在、git インデックス(ステージングエリア)のデザインはファイルしかリストアップすることを許可しておらず、空のディレクトリを許可する変更を行うほど有能な人は誰も、この状況を改善するために十分に気に掛けていませんでした。

ディレクトリは、その中にファイルを追加するときに自動的に追加されます。つまり、ディレクトリは決してリポジトリに追加される必要はなく、それ自体で追跡されることはありません。

ですから、Gitに関する限り、空のディレクトリはもう存在しないのです。

を使う習慣を身につけることができました。 git clean -fd を使う習慣をつけると、ディレクトリの削除を推し進める必要性がなくなることがわかりました。しかし git clean は削除されたくない項目 (まだコミットしていない新しいファイルを含む) を削除してしまう可能性があるので、私は最初に git clean -fdn を使って が削除されることを確認します。

そのディレクトリをきれいにするために、開発者仲間に相談せざるを得ないこともありそうです。