5

次のソース構造があります。

/dir1
    file1
    file2
    file3

dir1リポジトリ自体がフォルダーのようになる可能性があるため、不要なので、git リポジトリを次のようにします。

file1
file2
file3

これを達成するにはどうすればよいですか?

4

2 に答える 2

6

免責事項: これは履歴を書き換え、リポジトリを既にクローンした人にとっては PITA になります。公開された履歴でそれを行うべきではありません。

filter-branchつまり、Gitのコマンドを使用して、すべてのツリーを書き換えることができるはずです。使用する前に、すべての意味を理解してください (マンページを読んで、バックアップを取ってください)。

git filter-branch \
  --subdirectory-filter dir1 \
  --tag-name-filter cat \
  -- --all

注意。このコマンドは、グラフトを永続化し、参照を置き換えます。

于 2012-08-01T17:00:43.537 に答える