この質問は、これを読んだ後に私に来ました: Gitは本当に1つのファイルから別のファイルへの単一の関数の動きを追跡できますか? もしそうなら、どのように?
ワークフローは次のとおりです。
「ずっと前に」、大きなファイルfolder/file.py
を多くのファイルに分割しました :folder1/file.py
などfolder2/file.py
。
git blame -C
を見ると、そのコードの履歴が正しく表示されますfolder2/file.py
。一部のコミットは、この分割の前に行われたことがわかります。
問題は、まだ残っている古いバージョンのコードを維持し続けfolder/file.py
、修正を「現在の」バージョンにマージするときに、git がフォルダーを再作成し続け、行われた修正をマージする必要があることfolder
を認識しないことです。または、このコードのチャンクが現在どこにあるかによって異なります。folder/file.py
folder1/file.py
folder2/file.py
私は急いで見ましgit help merge
たが、それについては何も見つかりませんでした。