Допустим, у меня есть файл с filename в репозитории git в подкаталоге dir1 с историей примерно такой:
v7 --- v8 --- v9 --- v10
Файл является частью большого репозитория с различными подкаталогами, но только вышеуказанные наборы изменений влияют на этот файл. Теперь я выкопал старую версию этого файла (тоже filename ), которая по ошибке была передана в другой подкаталог dir2 . Эта старая версия "существует" только в одном наборе изменений, скажем:
v4
Теперь проблема в том, могу ли я переписать историю этих (для git) двух файлов так, чтобы это выглядело так, как будто filename существовало только в dir1 результате чего история выглядит примерно так:
v4 --- v7 --- v8 --- v9 --- v10
Я думаю, я мог бы попытаться удалить файл в dir2 и зафиксировать его как новую версию файла в dir1 , но это испортит фактическую историю файла, так что то, что на самом деле является самой старой версией файла, будет отображаться как самая новая ,
У меня очень мало опыта "подстройки" истории git-репозиториев, так что я не знаю, как это сделать, но я думаю, что rebase может быть ответом? Я единственный, кто работает с хранилищем, поэтому моя единственная задача - синхронизировать эти изменения на двух компьютерах.
Я предполагаю, что на самом деле я хочу просто оставить файл изначально в dir2 где он находится в истории, но я хочу изменить коммит с именем v4 выше, чтобы сделать файл версией файла в dir1 .
