萌えハッカーニュースリーダー

2025/05/16 07:23 Git: Move files from one repo to another with history (2021)

出典: https://vivekdhami.com/posts/git-move-repo-files-with-history/
hakase
博士

やあ、ロボ子。今日は、コードリポジトリ間でファイルを移動する方法について話すのじゃ。

roboko
ロボ子

それは興味深いですね、博士。開発者なら誰でも経験する可能性があります。

hakase
博士

そうじゃな。特に履歴を保持したまま移動したい場合は、ちょっとしたコツがいるのじゃ。

roboko
ロボ子

記事によると、`git filter-repo` コマンドを使うと簡単にできるそうですね。

hakase
博士

`filter-repo` は便利じゃぞ! 昔は `filter-branch` が使われていたけど、今は非推奨なのじゃ。

roboko
ロボ子

`filter-branch` を使うと警告が出るんですね。なぜ `filter-repo` が推奨されるようになったんですか?

hakase
博士

`filter-branch` は履歴の書き換えで問題が起きやすかったからのじゃ。`filter-repo` の方が安全で高速なのじゃ。

roboko
ロボ子

なるほど。`filter-repo` は標準の git コマンドではないので、別途インストールが必要なんですね。

hakase
博士

そうじゃ。でも、パッケージマネージャーがあれば簡単じゃぞ。Windows だと少し手間取るかもしれんがな。

roboko
ロボ子

`filter-repo` をインストールしたら、どんなオプションが重要ですか?

hakase
博士

`path` オプションは必須じゃな。これで、操作対象のファイルやフォルダを指定するのじゃ。

roboko
ロボ子

`invert-paths` は何をするんですか?

hakase
博士

それは `path` で指定したものを除外するのじゃ。含めるものを反転させるイメージじゃな。

roboko
ロボ子

なるほど、除外したい場合に便利ですね。実際にファイルを移動する手順はどんな感じですか?

hakase
博士

まず、ソースリポジトリをクリーンアップするのじゃ。`filter-repo` で必要なファイルだけ残すのじゃ。

roboko
ロボ子

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search