Git diff для скопированных файлов - PullRequest
3 голосов
/ 11 июня 2011

Скажем, у меня есть файл myfile.txt.В нем есть текстовый абзац, и я копирую его в новый файл myfile2.txt.

Если я выполняю команду git diff, он покажет myfile2.txt в качестве нового файла.Хорошо.Теперь я заменяю каждое вхождение слова «the» на «hello» и фиксирую.

Проблема, с которой я столкнулся, заключается в том, что после выполнения коммита git diff покажет весь myfile2.txt в виде нового файла ине покажет мне, что слово "везде" было заменено словом "привет" (потому что для него все является новым изменением).

Даже если я сначала внесу изменения и нажму myfile2.txt до редактирования, чтобы изменения стали очевидными, это не очень хорошее решение.Это проблема, потому что если я сквошу коммит к функции и фиксирую ее, myfile2.txt появляется как совершенно новый файл, тогда как я хотел бы видеть, что эти замены были сделаны.

Имеет ли gitфункция, которая позволяет мне отслеживать изменения в файле, который был скопирован из другого файла, так что git diff покажет мне только эти изменения, а не добавленный файл в целом?

Ответы [ 2 ]

4 голосов
/ 11 июня 2011

попробуй git diff -M / git diff -C

0 голосов
/ 12 июня 2011

У меня недавно был похожий вопрос о проблеме переименования каталогов с похожим советом.

Также есть опция --patience, чтобы взглянуть на git-diff-patience .

...